This is cleaner than adding hooks to transitionable actions, or performing validation on every history change. We want validation to run after each operation, but not while the user is drawing lines or typing in fields.