     @const
     @type {string}
   ###
-  @LOCALSTORAGE_KEY: 'songary'
+  localStorageKey: 'songary'
 
   ###*
     @type {goog.storage.Storage}

    - http://git.yathit.com/ydn-db/wiki/Home
    - https://github.com/swannodette/mori
    - https://github.com/benjamine/jsondiffpatch
    @return {boolean}
    @protected
  ###
  tryCreateLocalStorage: ->
    mechanism = goog.storage.mechanism.mechanismfactory
      .createHTML5LocalStorage Storage.LOCALSTORAGE_KEY
    # For instance, Safari in private mode does not allow localStorage.
    return false if !mechanism
    @localStorage = new goog.storage.Storage mechanism
    @preloadDefaultSongs()
    true

  preloadDefaultSongs: ->
    return if @localStorage.get 'songs'

    NOTE(steida): This sync app state across tabs/windows.
    @protected
  ###
  listenLocalStorage: ->
    # NOTE(steida): IE 9/10/11 implementation of window storage event is
    # broken. http://stackoverflow.com/a/4679754
    # Naive fix via document.hasFocus() does not work. Investigate it later.
    return if !@localStorage || goog.labs.userAgent.browser.isIE()

    goog.events.listen window, 'storage', (e) =>
      browserEvent = e.getBrowserEvent()
      storeName = browserEvent.key.split('::')[1]
