A motion object is responsible for initiating all motion on any single axis or group of axes. Before any motion can be initiated the motion object has to know which axes it is going to use; the Axes property is used to perform this mapping. This mapping action allows separate motion objects to be created for each of the primary components on a machine, e.g. an X-Y table or an in-feed belt. The motion object is then be used as the primary way of commanding motion to this component within the machine. The second responsibility of the motion object is to allow errors within a group of axes to be propagated between the axes. Motion objects also allow operations to affect all the axes within an axis group. for example is several axes are mapped to a single motion object, if a fault is detected on one axis that aborts the motion on that axis the other axes would also have their motions aborted.