using Transient scope for controllers and route config refactoring to avoid controller singletons