replace profusion of constructors with one constructure and a config object for ApplicationRouter