def method_missing msg, *args, &block
      if data.respond_to?(msg)
        data.__send__(msg, *args, &block)
      else
        super(msg, *args, &block)
      end
    end
def method_missing msg, *args, &block
      if data.respond_to?(msg)
        data.__send__(msg, *args, &block)
      else
        super(msg, *args, &block)
      end
    end
any other method call would delegate to the data,
 e.g., each, to_a, map, first, method_you_defined, etc.