Added MachineManager module

This module is in charge of handling machine's state changes and
managing unused machines allocation between PP