Singleton templated class, which is inherited by Controller, View and Model classes.