setting the engine state should be private