Incapaz de descubrir EventEmitter correcto o sintaxis observable en los servicios de Angular2

Me está costando mucho encontrar ejemplos / guías para usar observables en un servicio Angular2. Hay cosas para vincular plantillas html conEventEmitter pero eso no parece correcto para un servicio.

Uno de los grandes temas de conducción es alejarse de Promises en Angular2, pero parece que no puedo obtener la nueva sintaxis correcta.

Que estoy haciendo

tengo unServicio FirebaseAuth que puede inyectarse en otros servicios o componentes.Tengo una función que hace una llamada asíncrona a firebase, en mi ejemplo, para crear un usuarioQuiero devolver unObservable (para reemplazar la promesa) que otros servicios pueden usar para hacer otras cosas como crear un perfil cuando esto se resuelva

Estoy bien si las promesas son la mejor solución para este ejemplo, pero me gustaría averiguar cuál es elCamino observable es.

Mi servicio:

/*DS Work on firebase Auth */
import {Injectable} from 'angular2/angular2';

@Injectable()
export class FirebaseAuth {
  ref = new Firebase('https://myfirebase.firebaseio.com');
  //check if user is logged in
  getAuth(): any {
    return this.ref.getAuth();
  }

  //register a new user
  createUser(user: any): Promise<any> {
    return new Promise((resolve, reject) => {
      this.ref.createUser(user, function(error, userData) {
        if (error) {
          reject(error);
          console.log('Error creating user:", error');
        } else {
          resolve(userData);
          console.log('Successfully created user account with uid:', userData.uid);
        }
       })  
    })
  }
};

¿Cómo reescribiría esto para usar Observable y / o EventEmitter?

Respuestas a la pregunta(1)

Su respuesta a la pregunta