Refactored actions to extend ShipAction class instead of implement IShipPartAction interface; refactored ShipAction and extensions to use object array instead of int array