code: function createMutationObservers() {
                      if (_supportMutationObserver) {
                          var mutationObserverContentLag = 11;
                          var mutationObserver = COMPATIBILITY.mO();
                          var contentLastUpdate = COMPATIBILITY.now();
                          var mutationTarget;
                          var mutationAttrName;
                          var contentTimeout;
                          var now;
                          var sizeAuto;
                          var action;
  
                          _mutationObserverHost = new mutationObserver(function (mutations) {
                              if (!_initialized || _isSleeping)
                                  return;
  
                              var doUpdate = false;
                              var mutation;
                              FRAMEWORK.each(mutations, function () {
                                  mutation = this;
                                  mutationTarget = mutation.target;
                                  mutationAttrName = mutation.attributeName;
  
                                  if (mutationAttrName === LEXICON.c)
                                      doUpdate = hostClassNamesChanged(mutation.oldValue, mutationTarget.className);
                                  else if (mutationAttrName === LEXICON.s)
                                      doUpdate = mutation.oldValue !== mutationTarget[LEXICON.s].cssText;
                                  else
                                      doUpdate = true;
  
                                  if (doUpdate)
                                      return false;
                              });
  
                              if (doUpdate)
                                  _base.update(_strAuto);
                          });
                          _mutationObserverContent = new mutationObserver(function (mutations) {
                              if (!_initialized || _isSleeping)
                                  return;
  
                              var doUpdate = false;
                              var mutation;
                              FRAMEWORK.each(mutations, function () {
                                  mutation = this;
                                  doUpdate = isUnknownMutation(mutation);
                                  return !doUpdate;
                              });
  
                              if (doUpdate) {
                                  now = COMPATIBILITY.now();
                                  sizeAuto = (_heightAutoCache || _widthAutoCache);
                                  action = function () {
                                      if(!_destroyed) {
                                          contentLastUpdate = now;
  
                                          //if cols, rows or wrap attr was changed
                                          if (_isTextarea)
                                              textareaUpdate();
  
                                          if (sizeAuto)
                                              update();
                                          else
                                              _base.update(_strAuto);
                                      }
                                  };
                                  clearTimeout(contentTimeout);
                                  if (mutationObserverContentLag <= 0 || now - contentLastUpdate > mutationObserverContentLag || !sizeAuto)
                                      action();
                                  else
                                      contentTimeout = setTimeout(action, mutationObserverContentLag);
                              }
                          });
                      }
                  }
docs: ==== Mutation Observers ====// 
  Creates MutationObservers for the host and content Element if they are supported.