Removed abstract constructor due to needs by optimizing controller
constructing.

Signed-off-by: Michael 'Tekkla' Zorn <tekkla@tekkla.de>
Optimizations
Moved object init from factory to constructor.
Removed not needed methods by placing their functionality direct to the
place where the method call was done before.
Switched visibility of all public methods to protected and also made
them final to prevent override in child controller.
Reformat.
Added some comments.

Signed-off-by: Michael 'Tekkla' Zorn <tekkla@tekkla.de>
Missed that Error is not a child of ClassAbstract which means some
objects in handle() method had to be instantiated manually.

Signed-off-by: Michael 'Tekkla' Zorn <tekkla@tekkla.de>
Moved controller procession completly into controller object.

Signed-off-by: Michael 'Tekkla' Zorn <tekkla@tekkla.de>
Further constructor optimizations. Made constructor final because no
child needs a constructor.

Signed-off-by: Michael 'Tekkla' Zorn <tekkla@tekkla.de>