added IDispatcher to GrooveMachine and MachineComponentPart
add machinescreen abstraction for groovemachines