Using Spree states machine instead of validations.