Extracted ship input into ShipController.cs and other cleanup