abandoning major abstraction of engine objects for a code and UI overhaul