refactoring of game action subsystem