           build_map CodeMirror.keyMap[name] for name in fallthroughs
       build_map CodeMirror.keyMap.lead
 
-      @add_component KeyBindingComponent keys: all_keys, commands: CodeMirror.commands
+      KeyBindingComponent keys: all_keys, commands: CodeMirror.commands
 
     fn 'In', 'Gets previous input', (n) ->
       @value @get_input_value n
 
-    fn 'object', 'Prints an object as JSON', (o) ->
+    component_fn 'object', 'Prints an object as JSON', (o) ->
       try
         s = JSON.stringify(o, null, '  ')
       catch
         s = null
       s ||= new String o
-      @add_component source value: s, language: 'json'
+      source value: s, language: 'json'
 
     MarkdownComponent = React.createClass
       render: -> React.DOM.div className: 'user-html', dangerouslySetInnerHTML: __html: marked @props.value
 
-    fn 'md', 'Renders Markdown', (string) ->
-      @add_component MarkdownComponent value: string
+    component_fn 'md', 'Renders Markdown', (string) ->
+      MarkdownComponent value: string
 
     text = React.createClass
       render: -> React.DOM.p {}, @props.value

    html = React.createClass
      render: -> React.DOM.div className: 'user-html', dangerouslySetInnerHTML: __html: @props.value

    fn 'text', 'Prints text', (string) ->
      @add_component text value: string

    fn 'pre', 'Prints preformatted text', (string) ->
      @add_component pre value: string

    fn 'html', 'Adds some HTML', (string) ->
      @add_component html value: string

    ErrorComponent = React.createClass
      render: -> React.DOM.pre {className: 'error'}, @props.message

    fn 'error', 'Shows a preformatted error message', (message) ->
      @add_component ErrorComponent {message}

    example = React.createClass
      render: -> React.DOM.div {className: 'example', onClick: @on_click}, @transferPropsTo source()

          else
            fns = _.object _.map cmd, (v, k) -> [k, v._lead_context_fn]
        unless fns?
          return pre value: "#{cmd} is not a command."
      else
        fns = @imported_context_fns
      help fns

    KeyBindingComponent = React.createClass
      render: ->
