Refactored the properties of KnockoutObservable<T> into a seperate interface. This way KnockoutObservableArray doesn't extend KnockoutObservable anymore, making it possible to override methods according to the knockoutjs syntax (including Array Change subscription support).