Continued refactoring to remove Engine