Error with Position.moveToward() method, originally was creating new Position object and letting the old be GC'd, but this meant that Ships and the Weapons they fired shared the same Position object. Now whenever a ship fires a weapon, the weapon gets the Position object returned by Position.clone()