Modern ActiveRecord state machine plugin