We need the behavior of engine, renaming classes for clarity.