I would say that instead of removing the default arguments from the Request ctor, they should just be added here. That way the class is usable without the DIContainer, so you can implement parts of the App Framework instead of doing it all at one time. That would make the transition easier. Right now App Framework is very much "My way, or the high way" ;)