 extension AnyRealmCollection: NotificationEmitter {}
 extension Results: NotificationEmitter {}
 
-private protocol ArrayType {}
-extension Array: ArrayType {}
-
 public extension NotificationEmitter where Self: RealmCollectionType {
     
-    private func observable<T>() -> Observable<T> {
+    public func asObservable() -> Observable<Self> {
         return Observable.create {observer in
             let token = self.addNotificationBlock {changeset in
                 

    }
    
    public func asObservableArray() -> Observable<Array<Self.Generator.Element>> {
        return observable()
    }
    
    public func asObservable() -> Observable<Self> {
        return observable()
    }
}
                    return
                }

                observer.onNext(value)
            }
            
            return AnonymousDisposable {
