Refactor hero movement