Add abstract controller

In order to implement a MVC like structure a controller is required.
This controller will process user requests by using a handler and
message mechanism.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>