Source blocks can generate various attributes such as color, rotation (pan/tilt), gobos, position, pure numerical values, stack assignments and others.
You can freely combine different attributes together as they merge into a single stream that then continues further along. Into a lower layer, Fixture or Director.
Results from Fixtures are further transformed by the selected output module (ArtNet, Shapes, ...) which only pick the attributes they understand. This means that Stacks are interchageable between different Fixture types.