def component id,attribs={}, &block
        self.elements[id] = {
          attributes: attribs,
          type: :element,
          content: block
        }
    end
def component id,attribs={}, &block
        self.elements[id] = {
          attributes: attribs,
          type: :element,
          content: block
        }
    end
@see #Context#handle_render
 define a component of the composition

 @param [Symbol] id of element to mount element contents to
 @param [{Symbol => String,Number,Boolean}] list of attributes to attach to tag
 @yield block containing component to be rendered to page
 @yieldreturn [Object] a component that will be passed to the renderer to be rendered to the page