class AASM::DslHelper::Proxy

def initialize(options, valid_keys, source)

def initialize(options, valid_keys, source)
  @valid_keys = valid_keys
  @source = source
  @options = options
end

def method_missing(name, *args, &block)

def method_missing(name, *args, &block)
  if @valid_keys.include?(name)
    options[name] = Array(options[name])
    options[name] << block if block
    options[name] += Array(args)
  else
    @source.send name, *args, &block
  end
end