Moves: Using Factories instead direct class implementation