Refactor to add true move interruption.