             @$delete_button.show() if @should_show_delete == null or @should_show_delete
       error: (jqxhr, status, error) =>
         @error("couldn't load interactive")
+      complete: =>
+        callback()
 
   set_autosave_enabled: (v) ->
+    return unless @put_url
     # Save interactive every 5 seconds, on window focus and iframe mouseout just to be safe.
     # Focus event is attached to the window, so it has to have unique namespace. Mouseout is attached to the iframe
     # itself, but other code can use that event too (e.g. logging).

    if (@put_url or @get_url)
      IFrameSaver.instances.push @

    model_did_load = () =>
      if @get_url
        @load_interactive()

    phone_answered = () =>
      @iframePhone.addListener 'setLearnerUrl', (learner_url) =>
        @learner_url = learner_url

      error: (jqxhr, status, error) =>
        @error("couldn't save interactive")

  load_interactive: (callback) ->
    unless @get_url
      callback()
      return

    $.ajax
      url: @get_url
      success: (response) =>
