get rid of navigation/presentation hacks and deep levels of abstraction