controller/screen dichotomy v1 - take 2