Generic implementation of basic mvc structure