moved controller inside AppFlow module and refactored renderer to a single
interface