A module / view controller pattern