     }
 
     public class func createDefaultPlaylist() {
-        Playlist(title: "Favorite").save()
+        if Playlist.sharedList.count == 0 {
+            Playlist(title: "Favorite").create()
+        }
     }
 }
 

    }

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

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

    public   var signal:       Signal<Int, NSError>
    internal var sink:         SinkOf<ReactiveCocoa.Event<Int, NSError>>

    static var sharedPipe    = Signal<Event, NSError>.pipe()
    static var sharedList    = Playlist.findAll()
    public enum Event {
        case Created(Playlist)
        case Removed(Playlist)
