code: function mergeWishes(wishes) {
    _each(wishes, newWish => {
      let wishIndex = -1
      let existingWish = null
      _each(_wishes, (aWish, aWishIndex) => {
        if (aWish.id === newWish.id) {
          existingWish = aWish
          wishIndex = aWishIndex
          return false
        }
      })
      if (!newWish.action && existingWish) {
        newWish.action = existingWish.action
      }
      if (newWish.action) {
        _wishes[wishIndex] = newWish
      }
    })
    return _wishes
  }
docs: Merges the given wishes with genie's current wishes.
  Iterates through the wishes: If the wish does not have
  an action, and the wish's id is registered with genie,
  genie will assign the registered wish's action to
  the new wish's action property.
  Next, if the new wish has an action, it is registered
  with genie based on its wishId
  @param {Array.<wish>} wishes Array of wish objects
  @returns {Array.<wish>} All of genie's wishes
  @public