Refactored ship to use method missing & attribute readers