def method_missing(name, *args, &block)
      if parent && parent.respond_to?(name)
        block ||= lambda {} # captures self HERE
        parent.send(name, *args, &block)
      else
        super
      end
    end
def method_missing(name, *args, &block)
      if parent && parent.respond_to?(name)
        block ||= lambda {} # captures self HERE
        parent.send(name, *args, &block)
      else
        super
      end
    end
This is part of the sub-widget/parent feature (see #widget method).