Will use a class to hold the engine state, seems legit