slight performance increase by eliminating some duplicate calls to canMoveUp in the next state generator