Improved movement logic with support for pushbacks