Separated route instantiator into separate class

- Decoupled creation from the "Create" strategy
- Allows NotExists strategies to create routes