Controller - View approach

Closes #2 
Closes #10
opacityRegion to loading?