   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

  componentDidUpdate: (oldProps) -> @reload(oldProps)

  reload: (oldProps) ->
    {id, store, load, actions} = @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

    load ?= actions.load
    unless store.isNew(id)
      load(id)

  render: ->
    {id, store, actions, load, isLoaded, isLoading, renderItem, saved, renderLoading, renderError, renderBug, update} = @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, options)
        false
      else if isLoading(id, options)
        true
      else if isLoaded(id, options)
        false
      else if store.isUnknown(id, options) or store.reload(id, options)
        true
      else if store.isNew(id, options) and store.get(id, options).id and saved
        # If this store was just created, then call the onSaved prop
        saved()
      else
