Rajiv's 1st restructuring attempt

Ok, I changed the navigation around in addition to moving some of the content around.
implements LayerChangeEventListener.MainThread