                 return x.lowercaseString.trimWhitespace()
             }
             outerSubscription = outer.subscribeNext({ (group: GroupedObservable<String, String>) -> Void in
-                let result: MockObserver<String> = scheduler.createObserver(String)
+                let result: TestableObserver<String> = scheduler.createObserver(String)
                 inners[group.key] = group
                 results[group.key] = result
                 

        var outerSubscription: Disposable?
        var inners = Dictionary<String, GroupedObservable<String, String>>()
        var innerSubscriptions = Dictionary<String, Disposable>()
        var results = Dictionary<String, MockObserver<String>>()
        
        scheduler.scheduleAt(Defaults.subscribed) {
            let outer: Observable<GroupedObservable<String, String>> = xs.groupBy { x in

                    onNext: { (group: GroupedObservable<String, String>) -> Void in
                        outerResults.onNext(group.key)
                        
                        let result: TestableObserver<String> = scheduler.createObserver(String)
                        inners[group.key] = group
                        results[group.key] = result
                        innerSubscriptions[group.key] = group.subscribe(result)
