Typescript/AngularJS: $scope undefined outside of constructor
<p>How come I don't have scope for <code>$scope</code> outside of the constructor, unless I define my function using the fat arrow? Or is it possible to access $scope without defining a function using fat arrow?</p>

<pre><code>namespace FooBar {
    export interface MyScope extends ng.IScope {
        message: string;
    }

    export class SandboxCtrl {
        static $inject = ["$scope", "$timeout"];
        private scope: MyScope;
        private timeout: ITimeoutService;
        constructor($scope: MyScope, $timeout: ng.ITimeoutService) {
            this.scope = $scope;
            this.timeout = $timeout;
            timeout(this.foo, 1000); // does not work
            timeout(this.bar, 1000); // works
        }

        public foo() {
            this.scope.message = "foo bar"; // does not work
        }

        bar = () =&gt; {
            this.scope.message = "foo bar"; // works
        }
    }
}
</code></pre>

<p><strong>UPDATE</strong> I noticed I didn't shared the entire problem as I didn't knew it was because <code>$timeout</code> directive which causes the problem. Anyhow I updated my example.</p>