XMPP: AngularJs + Strophe.js

Eu tenho um cliente XMPP básico trabalhando no strophe.js.

No login, crio manipuladores como

connect = new Strophe.Connection('http://localhost/http-bind');
...
...

    connect.addHandler(on_message, null, "message", "chat");
    connect.addHandler(on_presence, null, "presence");

...
...

e então eu "escuto" aqueles

function on_presence(presence) {
// handling presence
}

function on_message(presence) {
// handling presence
}

Então, eu estou tentando "convertê-lo" em AngularJS. A primeira parte é bem simples. Eu tenho um controlador que lida com a parte de login muito bem:

angular.module('app').controller('loginCtrl', function($scope) {
connect = new Strophe.Connection('http://website.com/http-bind');

connect.connect(data.jid, data.password, function (status) {
  if (status === Strophe.Status.CONNECTED) {
    connect.addHandler(on_message, null, "message", "chat");
    connect.addHandler(on_presence, null, "presence");
  }
}
})

Mas como realmente começo a ouvir esses eventos (on_message, on_presence) no contexto de angular em todos os controladores que tenho.

questionAnswers(3)

yourAnswerToTheQuestion