refactor movement resolvers mechanism
update game state api
add corresponding tests