class ProvidedState
  attr_accessor :transient_store, :persisted_store
  include AASM
  aasm do
    state :alpha, :initial => true
    state :beta
    state :gamma
    event :release do
      transitions :from => [:alpha, :beta, :gamma], :to => :beta
    end
  end

  def aasm_read_state(*args)
    :beta
  end

  def aasm_write_state(new_state, *args)
    @persisted_store = new_state
  end

  def aasm_write_state_without_persistence(new_state, *args)
    @transient_store = new_state
  end
end
