     public   var signal:       Signal<Int, NSError>
     internal var sink:         SinkOf<ReactiveCocoa.Event<Int, NSError>>
 
-    struct ClassProperty {
-        static let pipe    = Signal<Event, NSError>.pipe()
-        static var current = Playlist.findAll()
-    }
+    static var sharedPipe    = Signal<Event, NSError>.pipe()
+    static var sharedList    = Playlist.findAll()
     public enum Event {
         case Created(Playlist)
         case Removed(Playlist)

    }

    public class func createDefaultPlaylist() {
        Playlist(title: "Favorite").save()
    }
}


    }

    public class var shared: (signal: Signal<Event, NSError>, sink: SinkOf<ReactiveCocoa.Event<Event, NSError>>, current: [Playlist]) {
        get { return (signal: Playlist.sharedPipe.0,
                        sink: Playlist.sharedPipe.1,
                     current: Playlist.sharedList) }
    }

    public class func notifyChange(event: Event) {
        switch event {
        case .Created(let playlist):
            Playlist.sharedList.append(playlist)
        case .Removed(let playlist):
            if let index = find(Playlist.sharedList, playlist) {
                Playlist.sharedList.removeAtIndex(index)
            }
        case .Updated(let playlist):
            if let index = find(Playlist.sharedList, playlist) {
                Playlist.sharedList[index] = playlist
            }
        case .TracksAdded(let playlist, let tracks):
            break
