Large commit to abstract engine from core NXUI