Engine is object now, still has to decouple view from logic