docs: function(command, value) {
      var obj     = wysihtml5.commands[command],
          args    = wysihtml5.lang.array(arguments).get(),
          method  = obj && obj.exec,
          result  = null;
  
      this.editor.fire("beforecommand:composer");
  
      if (method) {
        args.unshift(this.composer);
        result = method.apply(obj, args);
      } else {
        try {
          // try/catch for buggy firefox
          result = this.doc.execCommand(command, false, value);
        } catch(e) {}
      }
  
      this.editor.fire("aftercommand:composer");
      return result;
    }