       @value @renderable promise, @detached -> @async ->
         $ul = $ '<ul class="find-results"/>'
         @add_rendered $ul
-        promise.done ({query, result}) =>
+        promise.then ({query, result}) =>
           query_parts = query.split '.'
           for node in result
             $li = $ '<li class="cm-string"/>'

      @async ->
        $result = @div()
        promise = graphite.get_data params
        promise.done (response) =>
          for series in response
            $header = $ '<h3>'
            $header.text series.target

            promise.clicks.plug $li.asEventStream('click').map (e) -> $(e.target).closest('li').data('node')

            $ul.append $li
        .fail (reason) =>
          @error 'Find request failed'
          Q.reject reason
        promise

    context_vars: -> dsl.define_functions {}, function_names
