Anything that can be connected to other items within an Assembly is an AssemblyItem. This guarantees certain properties, including having a position within the asembly, and being able to inform other components what types of inputs and outputs it accepts.