RxJS 5 Observable and variable scope aka Why is my variable unreadable
<p><code>Angular 2 RC4</code> app written in <code>TypeScript 1.9</code> and <code>RxJS 5 beta 6</code></p>

<p>I'm having a really hard time understanding why my class variable is not passed to the Observable generating function when I subscribe.  My code is below but you can see it running <a href="http://plnkr.co/edit/OdVy05wunfi391CBvY34?p=preview" rel="nofollow">at this Plunker</a> (see <code>app/app.component.ts</code></p>

<pre><code>//this is the problematic var. Can't pass its updated value to the Observable
input = 'nothing'; //&lt;- default value

ngOnInit(){//&lt;- this runs right after class constructor
    //set to the value we want to send to the server
    this.input = 'something';
}
start(){
    //to make sure input = something when we subscribe
    this.print("Subscribing when input = "+this.input);
    this.source.subscribe(d=&gt;this.print(d));
}
//Simulate sending input to the server
source = this.queryServer(this.input)
    .do(()=&gt;this.print('Emitting new value...'));

//server just returns what it received
queryServer(input){return Observable.from(['Server sees '+input])}

print(value){this.log.push(value);}
log=[];
</code></pre>

<p><strong>output</strong> when I start the subscription by calling <code>start()</code></p>

<ul>
<li>Subscribing when input = something</li>
<li>Emitting new value...</li>
<li>Server sees nothing</li>
</ul>

<p>How come even though the class property is <code>something</code> when we call subscribe, <code>nothing</code> is passed to <code>queryserver()</code>?  I tried making <code>input</code> an object such as <code>input={d:'something'}</code> thinking that maybe the problem had to do with passing values instead of references but the result was the same.</p>