           characterDataOldValue: true
           subtree: false # FIXME subtree: true
 
-        elems = adapter.get(@from_element) # fixme : all
 
-        observer.observe(elems, cnf)
+        if Sirius.Utils.is_string(from)
+          elements = adapter.get(from) # fixme : all
+          observer.observe(elements, cnf)
+        else
+          observer.observe(from, cnf)
+
+
 
       else # when null, need register event with routes
         adapter.bind(document, @from_element, 'DOMNodeInserted', handler)

        new_attr  = adapter.get_attr(from, attr_name)
        result['text'] = new_attr
        result['attribute'] = attr_name


      clb(result)


    type = adapter.get_attr(from, 'type')
    # FIXME maybe save all needed attributes in hash ????
    handler = (e) ->
      c e.type # TODO into log

      result = {text: null, attribute: null}
      if e.type == "input" || e.type == "childList" || e.type == "change" || e.type == "DOMNodeInserted"
        result['text'] = adapter.text(from)
