Backup commit. Another big try for MVC

This time, M,V,C all three have the same structure (interface)
but M and V contains C's handle, and C contains both others.

All should be able to be instantiated independently and then combine later.
Work in progress...