VirtualView is the basis for creating a view it contains the implementation with methods that are
shared between regular views and contexts which are called "unified methods".
We call "view" a VirtualView, "root view" a RootView and implementations,
and "context" a IFContext and derivations.