Excepción: ObjectUnsubscriptionsError cuando se trabaja con Observables con RxJS y Angular2

Todavía estoy tratando de aprender Angular2 (y realmente necesito encontrar mejores recursos) pero tengo una pregunta. Trasladé mis llamadas de datos a un servicio y estoy usando Reactive Subject & BehaviorSubject después de las instrucciones de un amigo. Mis llamadas funcionan, tengo un servicio REST falso de un back-end real que me da un objeto de datos (que es un objeto de datos de usuario simulados), mi respuesta coincide con un tipo que he definido en mi aplicación de nivel superior (llamada Aplicación). ts) Tengo que esperar la respuesta. Ahora aquí es donde estoy haciendo algo mal como cuando trato de obtener o trabajar con los datos que obtengo[Exception: ObjectUnsubscribedError] cuando yoconsole.log.

Aquí está el problema, aquí está mi aplicación de nivel superior

import {Component} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {Observable, Subject, BehaviorSubject} from 'rxjs';
import {UserContact, UserStatus} from './types/types';

// more stuff, then...

import {UserDataService} from './services/user-data/UserDataService';

@Component({
    selector: 'app',
    providers: [...FORM_PROVIDERS, UserDataService],
    directives: [...ROUTER_DIRECTIVES, FooterNavigation, TopNavigation, ContactsList],
    pipes: [],
    template: require('./app.html')
})

export class App {

    constructor(public userDataService: UserDataService) {
        console.log(this.userDataService.loginInUser.last());
    }

    ngOnInit() {
        // even if I try to output here I get the same problem
    }
}

Aquí está mi UserDataService

import {Injectable} from 'angular2/core';
import {UserStatus} from '../../types/types';
import {Subject, BehaviorSubject, Observable} from 'rxjs';
import {Http, Headers, Response} from 'angular2/http';

@Injectable()
export class UserDataService {

    public loginInUser: Subject<UserStatus> = new BehaviorSubject<UserStatus>(null);
    public currentUser: UserStatus;

    constructor(public http:Http) {
        this.loadUserStatus(); // Here I define the false user to use in my App
    }

    private loadUserStatus():void {
        var headers = new Headers();
        headers.append('Content-Type', 'application/json');
        this.http.get('/restservice/userstatus', {headers: headers}).subscribe((response:Response) => {
            var userStatus: UserStatus = new UserStatus(response.json());
            this.currentUser = userStatus;
            this.loginInUser.next(this.currentUser);
        }, (error:Response) => this.handleError, () => {
            this.loginInUser.complete();
        });
    }

Los resultados de laconsole.log(this.userDataService.loginInUser.last()); en App.ts me da lo siguiente:

_isScalar: false
completeSignal: false
destination: BehaviorSubject
dispatching: false
errorSignal: false
isUnsubscribed: false
observers: Array[0]
operator: LastOperator
source: BehaviorSubject
_hasError: false
_isScalar: false
_subscriptions: undefined
_value: UserStatus // the data does seem to be here!!!!
completeSignal: true
dispatching: false
errorSignal: false
isUnsubscribed: true
observers: undefined
value: [Exception: ObjectUnsubscribedError] // Here is the problem!!!!

Solo quiero que mi App.ts reciba los datos devueltos una vez que esté listo, obviamente no se está actualizando ... ¡dígame qué estoy haciendo mal!

Respuestas a la pregunta(1)

Su respuesta a la pregunta