diff --git a/edit.module b/edit.module
index aaf1466..a116edd 100644
--- a/edit.module
+++ b/edit.module
@@ -134,9 +134,6 @@ function edit_library() {
       $path . '/js/util.js' => array(
         'defer' => TRUE,
       ),
-      $path . '/js/ui.js' => array(
-        'defer' => TRUE,
-      ),
       $path . '/js/ui-editables.js' => array(
         'defer' => TRUE,
       ),
diff --git a/js/edit.js b/js/edit.js
index d7ace11..ef17159 100644
--- a/js/edit.js
+++ b/js/edit.js
@@ -9,7 +9,6 @@ Drupal.edit.wysiwyg = Drupal.edit.wysiwyg || {};
 Drupal.behaviors.edit = {
   attach: function(context) {
     $('#edit_view-edit-toggles').once('edit-init', Drupal.edit.init);
-    $('#edit_view-edit-toggles').once('edit-toggle', Drupal.edit.toggle.render);
   }
 };
 
@@ -24,7 +23,6 @@ Drupal.edit.init = function() {
   Drupal.edit.domService = Drupal.edit.vie.service('edit');
 
   Drupal.edit.state = Drupal.edit.prepareStateModel();
-  Drupal.edit.state.set('queues', Drupal.edit.prepareQueues());
 
   // Load the storage widget to get localStorage support
   $('body').midgardStorage({
@@ -80,7 +78,6 @@ Drupal.edit.prepareStateModel = function () {
       highlightedEditable: null,
       editedEditable: null,
       editedFieldView: null,
-      queues: {},
       wysiwygReady: false
     }
   });
@@ -89,18 +86,6 @@ Drupal.edit.prepareStateModel = function () {
   return new Drupal.edit.StateModel();
 };
 
-Drupal.edit.prepareQueues = function () {
-  // Form preloader.
-
-  var queues = {
-    preload: Drupal.edit.domService.findSubjectElements().filter('.edit-type-form').map(function () {
-      return Drupal.edit.util.getID($(this));
-    })
-  };
-  console.log('Fields with (server-generated) forms:', queues.preload);
-  return queues;
-};
-
 Drupal.edit.prepareFieldView = function () {
   var element = jQuery(this);
   var fieldViewType = Drupal.edit.views.EditableFieldView;
diff --git a/js/editable.js b/js/editable.js
index daa4198..4377c53 100644
--- a/js/editable.js
+++ b/js/editable.js
@@ -27,22 +27,6 @@
       jQuery.Midgard.midgardEditable.prototype._create.call(this);
     },
 
-      /*
-    findEditableElements: function (callback) {
-      jQuery.Midgard.midgardEditable.prototype.findEditableElements.call(this, function (elements) {
-        console.log(elements);
-        callback(elements);
-      });
-      var model = this.options.model;
-      var fields = Drupal.edit.util.findEditableFields(this.element).andSelf().filter(function () {
-        return Drupal.edit.util.getElementSubject(jQuery(this)) == model.getSubjectUri();
-      });
-      Drupal.edit.util.findEditablesForFields(fields).each(callback);
-    },
-    getElementPredicate: function (element) {
-       return Drupal.edit.util.getElementPredicate(jQuery(element));
-    },*/
-
     _editorName: function (data) {
       if (Drupal.settings.edit.wysiwyg && jQuery(this.element).hasClass('edit-type-direct')) {
         if (jQuery(this.element).hasClass('edit-type-direct-with-wysiwyg')) {
diff --git a/js/theme.js b/js/theme.js
index edc10d1..75dc8a5 100644
--- a/js/theme.js
+++ b/js/theme.js
@@ -31,39 +31,6 @@ Drupal.theme.prototype.editBackstage = function(settings) {
 };
 
 /**
- * Theme function for a "curtain" for the Edit module.
- *
- * @param settings
- *   An object with the following keys:
- *   - None.
- * @return
- *   The corresponding HTML.
- */
-Drupal.theme.prototype.editCurtain = function(settings) {
-  var html = '';
-  html += '<div class="edit-curtain" />';
-  return html;
-};
-/**
- * Theme function for a modal of the Edit module.
- *
- * @param settings
- *   An object with the following keys:
- *   - None.
- * @return
- *   The corresponding HTML.
- */
-Drupal.theme.prototype.editModal = function(settings) {
-  var classes = 'edit-animate-slow edit-animate-invisible edit-animate-delay-veryfast';
-  var html = '';
-  html += '<div id="edit_modal" class="' + classes + '">';
-  html += '  <div class="main"><p></p></div>';
-  html += '  <div class="actions"></div>';
-  html += '</div>';
-  return html;
-};
-
-/**
  * Theme function for a toolbar container of the Edit module.
  *
  * @param settings
@@ -144,6 +111,7 @@ Drupal.theme.prototype.editButtons = function(settings) {
  * @return
  *   The corresponding HTML.
  */
+// @todo: remove, no usages found.
 Drupal.theme.prototype.editFormContainer = function(settings) {
   var html = '';
   html += '<div id="' + settings.id + '" class="edit-form-container">';
diff --git a/js/ui.js b/js/ui.js
deleted file mode 100644
index 990f8bc..0000000
--- a/js/ui.js
+++ /dev/null
@@ -1,82 +0,0 @@
-(function($) {
-
-/**
- * @file ui.js
- *
- * "Global" UI components: toggle, modal.
- */
-
-Drupal.edit = Drupal.edit || {};
-
-
-Drupal.edit.toggle = {
-  render: function() {
-    // TODO: fancy, "physical toggle" to switch from view to edit mode and back.
-  }
-};
-
-
-Drupal.edit.modal = {
-  create: function(message, actions, $editable) {
-    // The modal should be the only interaction element now.
-    $editable
-    .add(Drupal.edit.toolbar.get($editable))
-    .addClass('edit-belowoverlay');
-
-    $(Drupal.theme('editModal', {}))
-    .appendTo('body')
-    .find('.main p').text(message).end()
-    .find('.actions').append($(actions))
-    .delegate('a.discard', 'click.edit', function() {
-      // Restore to original content. When dealing with processed text, it's
-      // possible that one or more transformation filters are used. Then, the
-      // "real" original content (i.e. the transformed one) is stored separately
-      // from the "original content" that we use to detect changes.
-      if (typeof $editable.data('edit-content-original-transformed') !== 'undefined') {
-        $editable.html($editable.data('edit-content-original-transformed'));
-      }
-      else {
-        $editable.html($editable.data('edit-content-original'));
-      }
-
-      $editable.data('edit-content-changed', false);
-
-      Drupal.edit.modal.remove();
-      Drupal.edit.toolbar.get($editable).find('a.close').trigger('click.edit');
-      return false;
-    })
-    .delegate('a.save', 'click.edit', function() {
-      Drupal.edit.modal.remove();
-      Drupal.edit.toolbar.get($editable).find('a.save').trigger('click.edit');
-      return false;
-    });
-  },
-
-  get: function() {
-    return $('#edit_modal');
-  },
-
-  remove: function() {
-    var $modal = Drupal.edit.modal.get();
-
-    // Remove after animation.
-    $modal
-    .addClass('edit-animate-invisible')
-    .bind(Drupal.edit.constants.transitionEnd, function(e) {
-      $modal.remove();
-
-      // The modal's HTML was removed, hence no need to undelegate it.
-    });
-
-    // Make the other interaction elements available again.
-    $('.edit-belowoverlay').removeClass('edit-belowoverlay');
-  },
-
-  // Animate into view.
-  show: function() {
-    Drupal.edit.modal.get()
-    .removeClass('edit-animate-invisible');
-  }
-};
-
-})(jQuery);
diff --git a/js/util.js b/js/util.js
index 6ca4c98..0904de4 100644
--- a/js/util.js
+++ b/js/util.js
@@ -8,7 +8,6 @@
 
 Drupal.edit = Drupal.edit || {};
 Drupal.edit.util = Drupal.edit.util || {};
-Drupal.edit.util.views = {};
 
 Drupal.edit.util.getID = function(element) {
   var id = jQuery(element).data('edit-id');
@@ -39,36 +38,6 @@ Drupal.edit.util.getElementEntity = function(element, vie) {
   return vie.entities.get(Drupal.edit.util.getElementSubject(element));
 };
 
-Drupal.edit.util.findEditableEntities = function(context) {
-  var entityElements = $('.edit-entity.edit-allowed', context || Drupal.settings.edit.context);
-  entityElements.each(function () {
-    // Register the entity with VIE
-    Drupal.edit.vie.entities.addOrUpdate({
-      '@subject': Drupal.edit.util.getElementSubject(jQuery(this)),
-      '@type': jQuery(this).data('edit-entity-label')
-    }, {
-      overrideAttributes: true
-    });
-  });
-  return entityElements;
-};
-
-Drupal.edit.util.findEditableFields = function(context) {
-  var propertyElements = $('.edit-field.edit-allowed', context || Drupal.settings.edit.context);
-  propertyElements.each(function () {
-    // Register with VIE
-    var propertyName = Drupal.edit.util.getElementPredicate(jQuery(this));
-    var entityData = {
-      '@subject': Drupal.edit.util.getElementSubject(jQuery(this))
-    };
-    entityData[propertyName] = Drupal.edit.util.getElementValue(jQuery(this));
-    Drupal.edit.vie.entities.addOrUpdate(entityData, {
-      overrideAttributes: true
-    });
-  });
-  return propertyElements;
-};
-
 /*
  * findEditableFields() just looks for fields that are editable, i.e. for the
  * field *wrappers*. Depending on the field, however, either the whole field wrapper
@@ -102,10 +71,7 @@ Drupal.edit.util.findFieldForEditable = function($editable) {
   return $editable.filter('.edit-type-form').length ? $editable : $editable.closest('.edit-type-direct');
 };
 
-Drupal.edit.util.findEntityForEditable = function($editable) {
-  return Drupal.edit.util.findEntityForField(Drupal.edit.util.findFieldForEditable($editable));
-};
-
+// @todo: remove, no usages found.
 Drupal.edit.util.findEntityForField = function($f) {
   var $e = $f.closest('.edit-entity');
   if ($e.length === 0) {
@@ -125,6 +91,7 @@ Drupal.edit.util.calcFormURLForField = function(id) {
   });
 };
 
+// @todo: remove, no usage found.
 Drupal.edit.util.calcRerenderProcessedTextURL = function(id) {
   var parts = id.split(':');
   var urlFormat = decodeURIComponent(Drupal.settings.edit.rerenderProcessedTextURL);
diff --git a/js/views.js b/js/views.js
index ac19c03..2ef368a 100644
--- a/js/views.js
+++ b/js/views.js
@@ -225,7 +225,7 @@
 
     escapeEditor: function () {
       var editor = this.state.get('fieldBeingEdited');
-      if (Drupal.edit.modal.get().length > 0 || editor.length === 0) {
+      if (editor.length === 0) {
         return;
       }
 
@@ -236,28 +236,6 @@
     }
   });
 
-  // ## EditableView
-  //
-  // This view wraps a editable DOM element, and connects it
-  // with the VIE Entity instance. Whenever the particular
-  // attribute (predicate) of the instance changes, whether
-  // due to user interaction or some AJAX call, the contents
-  // of the DOM element will be automatically updated.
-  Drupal.edit.views.EditableView = Backbone.View.extend({
-    predicate: null,
-
-    initialize: function (options) {
-      this.predicate = '<http://viejs.org/ns/' + options.predicate + '>';
-      _.bindAll(this, 'render');
-      this.model.bind('change:' + this.predicate, this.render);
-    },
-
-    render: function () {
-      this.$el.html(this.model.get(this.predicate));
-      return this;
-    }
-  });
-
   // ## FieldView
   //
   // This view wraps a field, and connects it with the state of
@@ -290,17 +268,6 @@
 
     },
 
-    buildEditableView: function () {
-      var self = this;
-      Drupal.edit.util.findEditablesForFields(this.$el).each(function () {
-        self.editableViews.push(new Drupal.edit.views.EditableView({
-          model: self.model,
-          el: this,
-          predicate: self.predicate
-        }));
-      });
-    },
-
     stateChange: function () {
       if (this.state.get('isViewing')) {
         this.editable = false;
