def method_missing(name, *args, &block)
      if match = /on_(.+)/.match(name)
        receive(match[1], &block)
      else
        super(name, args, &block)
      end
    end
def method_missing(name, *args, &block)
      if match = /on_(.+)/.match(name)
        receive(match[1], &block)
      else
        super(name, args, &block)
      end
    end
on_ handling