fix engine movement and builds applying with refactoring state and order