Break out engine into own class and require early.