Further refactoring to remove Engine