     @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

        @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)

  constructor: (@dispatcher, @routes, @xhr, @userStore) ->
    super 'songs'

    ###*
      @type {Array.<app.songs.Song>}
    ###
    @recentlyUpdatedSongs = []

    ###*
      @type {Array.<app.songs.Song>}
    ###
    @songsByUrl = []

    ###*
      @type {Array.<app.songs.Song>}
    ###
    @foundSongs = []

    @dispatcherIndex = @dispatcher.register @handleAction_.bind @

  @Actions:
    PUBLISH_SONG: 'publishsong'
    SEARCH: 'searchsongs'
    UNPUBLISH_SONG: 'unpublishsong'

  handleAction_: (action, payload) ->
    switch action
