For a predictive behaviour we need to determine who is allowed to call render
methods on the views. Either, the main view is solely allowed to call render
and views do not do anything about output until then. Or, the main view relies
on the concrete views to be ready when things are about to be shown. The latter
approach has the advantage that concrete views know when they have to update
themselves (e.g. new data arrives or information change), but the main view
has now idea of the inner workings.