   componentDidUpdate: (oldProps) -> @reload(oldProps)
 
   reload: (oldProps) ->
-    {id, store, load, actions} = @props
-
+    {id, store, load, actions, options} = @props
     return unless id?
 
     # Skip reloading if all the props are the same (the case in the Calendar for some reason)
-    if oldProps.id is id and oldProps.store is store and oldProps.actions is actions and oldProps.load is load
-      return
+    return if oldProps.id is id and oldProps.store is store and oldProps.actions is actions and
+      oldProps.load is load and _.isEqual(oldProps.options, options)
 
     load ?= actions.load
-    unless store.isNew(id)
-      load(id)
+    unless store.isNew(id, options)
+      load(id, options)
 
   render: ->
-    {id, store, actions, load, isLoaded, isLoading, renderItem, saved, renderLoading, renderError, renderBug, update} = @props
+    { id, store, actions, load, isLoaded, isLoading, renderItem,
+      saved, renderLoading, renderError, renderBug, update, options} = @props
 
     load ?= actions.load
     isLoaded ?= store.isLoaded

      # if id is undefined, render as loading. loadableItem is waiting for id to be retrieved.
      return true unless id?

      if store.get(id)
        false
      else if isLoading(id)
        true
      else if isLoaded(id)
        false
      else if store.isUnknown(id) or store.reload(id)
        true
      else if store.isNew(id) and store.get(id).id and saved
        # If this store was just created, then call the onSaved prop
        saved()
      else

  displayName: 'LoadableItem'
  propTypes:
    id: React.PropTypes.string.isRequired
    options: React.PropTypes.object
    store: React.PropTypes.object.isRequired
    actions: React.PropTypes.object.isRequired
    renderItem: React.PropTypes.func.isRequired
