         `with (cli) { with (functions) { with (vars) {`
         result = eval compiled
         `}}}`
-        unless result == ignore
-          if result?._lead_op?
-            result._lead_op.cli_fn.apply(run_context)
-          else if lead.is_lead_node result
-            lead_string = lead.to_string result
-            if $.type(result) == 'function'
-              cli.text "#{lead_string} is a Graphite function"
-              run_in_info_context input_cell, "docs #{result.values[0]}"
-            else
-              cli.text "What do you want to do with #{lead_string}?"
-              for f in ['data', 'graph', 'img', 'url']
-                cli.example "#{f} #{result.to_js_string()}"
-          else
-            cli.object result
+        display_object result
       catch e
         handle_exception e, compiled
 

    notebook = input_cell.notebook
    run_context =
      cell: output_cell
      notebook: notebook
      ops: ops
      current_options: {}

      run_context.output $pre
      run_context.failure()

    result_handlers =[
      ignored,
      handle_cli_cmd,
      handle_lead_node,
      handle_any_object
    ]

    display_object = (object) ->
      for handler in result_handlers
        return if handler.call run_context, object

    lead.define_functions functions, graphite_function_names
    try
      compiled = CoffeeScript.compile(string, bare: true) + "\n//@ sourceURL=console-coffeescript.js"
