   constructor: (@dispatcher, @routes, @xhr, @userStore) ->
     super 'songs'
 
-    ###* @type {Array.<app.songs.Song>} ###
+    ###*
+      @type {Array.<app.songs.Song>}
+    ###
     @recentlyUpdatedSongs = []
 
-    ###* @type {Array.<app.songs.Song>} ###
+    ###*
+      @type {Array.<app.songs.Song>}
+    ###
     @songsByUrl = []
+
+    ###*
+      @type {Array.<app.songs.Song>}
+    ###
+    @foundSongs = []
 
     @dispatcherIndex = @dispatcher.register @handleAction_.bind @
 
   @Actions:
-    PUBLISH_SONG: 'publish-song'
-    UNPUBLISH_SONG: 'unpublish-song'
+    PUBLISH_SONG: 'publishsong'
+    SEARCH: 'searchsongs'
+    UNPUBLISH_SONG: 'unpublishsong'
 
   handleAction_: (action, payload) ->
     switch action

        @xhr
          .put @routes.api.songs.id.url(id: payload.song.id), payload.json
          .then => @userStore.setSongPublisher payload.song
      when Store.Actions.UNPUBLISH_SONG
        @xhr
          .delete @routes.api.songs.id.url(id: payload.song.id)

    @override
  ###
  fromJson: (json) ->
    if json.foundSongs
      @foundSongs = json.foundSongs.map @instanceFromJson app.songs.Song
    if json.recentlyUpdatedSongs
      @recentlyUpdatedSongs = json.recentlyUpdatedSongs.map @instanceFromJson app.songs.Song
    if json.songsByUrl
