Refactored Ship into its own class.