Route and player factories

Routes and players themselves can now be created via a factory method instead of individually by hand.