Refactoring: Adding a Controller::load() method
[ Previous workflow ]
The run() method initialiazed a new instance of the class, then
called the handleRequest() method.
[ New workflow )
A load() method initialiazes a new instance of the class and
returns it.
This allows to get a controller, and performs actions before to call
handleRequest(), actions not specified in the context or in initialize().
The run() factory method calls load, then handleRequest().
[ Goal ]
The next commit will introduce a ErrorPageController to replace the
procedural.
This controller needs to know the error code to print, but this information
isn't present in the context, and it seems more clear to offer a static
method "show a ... error page" than to add properties to the context.
So we offer the capability, in addition to the Run() mechanism to offer
custom static factory methods in controllers classes.