    Services.strings.createBundle("chrome://chat/locale/conversations.properties")
  );
  
-+function OutgoingMessage(aMessage, aConversation) {
-+  this.message = aMessage;
++function OutgoingMessage(aMsg, aConversation) {
++  this.message = aMsg;
 +  this.conversation = aConversation;
 +}
 +OutgoingMessage.prototype = {

                                                     in boolean aIsChat);
 };
+
+// A cancellable outgoing message. Before handing a message off to a prpl,
+// the conversation service notifies observers (typically add-ons) of an
+// outgoing message, which can be transformed or cancelled.
+[scriptable, uuid(4391ba5c-9566-41a9-bb9b-fd0a0a490c2c)]

   },
 
-  sendMsg: function (aMsg) {
+  prepareForSending: function(aOutgoingMessage, aCount) null,
+  sendMsg: function(aMsg) {
     throw Cr.NS_ERROR_NOT_IMPLEMENTED;
   },
