Add a new .canBeginWithTravelledDistance() method to specify whether the travelled distance is sufficient to begin the gesture. Also, only enter the begin state once this condition has been satisfied.