diff --git README.txt README.txt
index dabfb38..1386878 100644
--- README.txt
+++ README.txt
@@ -23,12 +23,7 @@ you may stop reading now.
    
    Alternatively you may specify a class to use for your entities, for which the
    "Entity" class is provided. In particular, it is useful to extend this class
-   in order to apply any necessary customizations. 
-   
-   Next, there is also the class EntityExtendable, which is extendable via the
-   Extendable Object Faces API (http://drupal.org/project/faces) - however it is
-   *not* recommened to make use of that if there are no specific reasons to do
-   so.
+   in order to apply any necessary customizations.
    
  * The controller supports fieldable entities as well as exportable entities,
    however it does not yet support revisions.
diff --git entity/entity.db.inc entity/entity.db.inc
index 15d91da..411dc5b 100644
--- entity/entity.db.inc
+++ entity/entity.db.inc
@@ -182,8 +182,9 @@ class Entity {
 }
 
 /**
- * This class is deprecated by "Entity" and only here for backward compatibility reasons.
+ * These classes are deprecated by "Entity" and are only here for backward
+ * compatibility reasons.
  */
-class EntityDB extends Entity {
-
-}
+class EntityDB extends Entity {}
+class EntityExtendable extends Entity {}
+class EntityDBExtendable extends Entity {}
diff --git entity/entity.db_faces.inc entity/entity.db_faces.inc
deleted file mode 100644
index 1c57f8f..0000000
--- entity/entity.db_faces.inc
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-// $Id$
-
-/**
- * @file
- * Provides an extendable base class for entities based upon faces.
- */
-
-/**
- * A class for entities, which is extendable via the extendable object faces API.
- *
- * If there is no specific reason to use the faces API, it is suggested to
- * make use of the class Entity instead.
- *
- * @see Entity
- */
-class EntityExtendable extends FacesExtendable {
-
-  protected $entityType;
-  protected $entityInfo;
-  protected $idKey, $nameKey;
-
-  public function __construct(array $values = array(), $entityType = NULL) {
-    if (empty($entityType)) {
-      throw new Exception('Cannot created an instance of EntityDB without a specified entity type.');
-    }
-    $this->entityType = $entityType;
-    $this->entityInfo = entity_get_info($entityType);
-    $this->idKey = $this->entityInfo['entity keys']['id'];
-    $this->nameKey = isset($this->entityInfo['entity keys']['name']) ? $this->entityInfo['entity keys']['name'] : $this->idKey;
-
-    // Set initial values.
-    foreach ($values as $key => $value) {
-      $this->$key = $value;
-    }
-  }
-
-  public function internalIdentifier() {
-    return isset($this->{$this->idKey}) ? $this->{$this->idKey} : NULL;
-  }
-
-  public function identifier() {
-    return isset($this->{$this->nameKey}) ? $this->{$this->nameKey} : NULL;
-  }
-
-  public function entityInfo() {
-    return $this->entityInfo;
-  }
-
-  public function entityType() {
-    return $this->entityType;
-  }
-
-  public function save() {
-    return entity_get_controller($this->entityType)->save($this);
-  }
-
-  public function delete() {
-    $id = $this->identifier();
-    if (isset($id)) {
-      entity_get_controller($this->entityType)->delete(array($id));
-    }
-  }
-
-  public function __sleep() {
-    // By default serialize everything but the faces class instances.
-    $all = get_object_vars($this);
-    unset($all['facesClassInstances']);
-    return array_keys($all);
-  }
-
-  public function export($prefix = '') {
-    return entity_get_controller($this->entityType)->export($this, $prefix);
-  }
-
-  public function view($view_mode = 'full', $langcode = NULL) {
-    return entity_get_controller($this->entityType)->view(array($this->identifier() => $this), $view_mode, $langcode);
-  }
-
-  public function buildContent($view_mode = 'full', $langcode = NULL) {
-    return entity_get_controller($this->entityType)->buildContent($this, $view_mode, $langcode);
-  }
-}
-
-/**
- * This class is deprecated by "EntityExtendable" and only here for backward compatibility reasons.
- */
-class EntityDBExtendable extends EntityExtendable {
-
-}
diff --git entity/entity.info entity/entity.info
index 4bce52a..e3da8f2 100644
--- entity/entity.info
+++ entity/entity.info
@@ -3,7 +3,6 @@ name = Entity CRUD API
 description = CRUD API for entities.
 core = 7.x
 files[] = entity.controller.inc
-files[] = entity.db_faces.inc
 files[] = entity.db.inc
 files[] = entity.features.inc
 files[] = entity.info.inc
diff --git entity/entity.module entity/entity.module
index 8273269..cb00a7d 100644
--- entity/entity.module
+++ entity/entity.module
@@ -6,18 +6,6 @@
  * Module for the entity API.
  */
 
-spl_autoload_register('entity_autoload');
-
-/**
- * Autoload API includes. Note that the code registry autoload is used only
- * by the providing API module.
- */
-function entity_autoload($class) {
-  if (stripos($class, 'faces') === 0) {
-    module_load_include('inc', 'entity', 'faces');
-  }
-}
-
 /**
  * Defines status codes used for exportable entities.
  */
diff --git entity/faces.inc entity/faces.inc
deleted file mode 100644
index 11a6209..0000000
--- entity/faces.inc
+++ /dev/null
@@ -1,312 +0,0 @@
-<?php
-// $Id$
-
-/**
- * @file Extendable Object Faces API. Provided by the faces module.
- */
-
-if (!interface_exists('FacesExtenderInterface', FALSE)) {
-
-  /**
-   * Interface for extenders.
-   */
-  interface FacesExtenderInterface {
-
-    /**
-     * Constructs an instance of the extender.
-     */
-    function __construct(FacesExtendable $object);
-
-    /**
-     * Returns the extended object.
-     */
-    public function getExtendable();
-  }
-
-  /**
-   * The Exception thrown by the FacesExtendable.
-   */
-  class FacesExtendableException extends ErrorException {}
-
-}
-
-if (!class_exists('FacesExtender', FALSE)) {
-  /**
-   * A common base class for FacesExtenders. Extenders may access protected
-   * methods and properties of the extendable using the property() and call()
-   * methods.
-   */
-  abstract class FacesExtender implements FacesExtenderInterface {
-
-    /**
-     * @var FacesExtendable
-     */
-    protected $object;
-
-
-    function __construct(FacesExtendable $object) {
-      $this->object = $object;
-    }
-
-    /**
-     * Returns the extended object.
-     */
-    public function getExtendable() {
-      return $this->object;
-    }
-
-    /**
-     * Makes protected properties of the extendable accessible.
-     */
-    protected function &property($name) {
-      $var =& $this->object->property($name);
-      return $var;
-    }
-
-    /**
-     * Invokes any method on the extended object. May be used to invoke
-     * protected methods.
-     *
-     * @param $name
-     *   The method name.
-     * @param $arguments
-     *   An array of arguments to pass to the method.
-     */
-    protected function call($name, array $args = array()) {
-      return $this->object->call($name, $args);
-    }
-  }
-}
-
-
-if (!class_exists('FacesExtendable', FALSE)) {
-
-  /**
-   * An extendable base class.
-   */
-  abstract class FacesExtendable {
-
-    protected $facesMethods = array();
-    protected $faces = array();
-    protected $facesIncludes = array();
-    protected $facesClassInstances = array();
-    static protected $facesIncluded = array();
-
-    /**
-     * Wraps calls to module_load_include() to prevent multiple inclusions.
-     *
-     * @see module_load_include()
-     */
-    protected static function load_include($args) {
-      $args += array('type' => 'inc', 'module' => '', 'name' => NULL);
-      $key = implode(':', $args);
-      if (!isset(self::$facesIncluded[$key])) {
-        self::$facesIncluded[$key] = TRUE;
-        module_load_include($args['type'], $args['module'], $args['name']);
-      }
-    }
-
-    /**
-     * Magic method: Invoke the dynamically implemented methods.
-     */
-    function __call($name, $arguments = array()) {
-      if (isset($this->facesMethods[$name])) {
-        $method = $this->facesMethods[$name];
-        // Include code, if necessary.
-        if (isset($this->facesIncludes[$name])) {
-          self::load_include($this->facesIncludes[$name]);
-          $this->facesIncludes[$name] = NULL;
-        }
-        if (isset($method[0])) {
-          // We always pass the object reference and the name of the method.
-          $arguments[] = $this;
-          $arguments[] = $name;
-          return call_user_func_array($method[0], $arguments);
-        }
-        // Call the method on the extender object, but don't use extender()
-        // for performance reasons.
-        if (!isset($this->facesClassInstances[$method[1]])) {
-          $this->facesClassInstances[$method[1]] = new $method[1]($this);
-        }
-        return call_user_func_array(array($this->facesClassInstances[$method[1]], $name), $arguments);
-      }
-      $class = check_plain(get_class($this));
-      throw new FacesExtendableException("There is no method $name for this instance of the class $class.");
-    }
-
-    /**
-     * Returns the extender object for the given class. May be used to
-     * explicitly invoke a specific extender, e.g. a function overriding a
-     * method may use that to explicitly invoke the original extender.
-     */
-    public function extender($class) {
-      if (!isset($this->facesClassInstances[$class])) {
-        $this->facesClassInstances[$class] = new $class($this);
-      }
-      return $this->facesClassInstances[$class];
-    }
-
-    /**
-     * Returns whether the object can face as the given interface, thus it
-     * returns TRUE if this oject has been extended by an appropriate
-     * implementation.
-     *
-     * @param $interface
-     *   Optional. A interface to test for. If it's omitted, all interfaces that
-     *   the object can be faced as are returned.
-     * @return
-     *   Whether the object can face as the interface or an array of interface
-     *   names.
-     */
-    public function facesAs($interface = NULL) {
-      if (!isset($interface)) {
-        return array_values($this->faces);
-      }
-      return in_array($interface, $this->faces) || $this instanceof $interface;
-    }
-
-    /**
-     * Extend the object by a class to implement the given interfaces.
-     *
-     * @param $interface
-     *   The interface name or an array of interface names.
-     * @param $class
-     *   The extender class, which has to implement the FacesExtenderInterface.
-     * @param $include
-     *   An optional array describing the file to include before invoking the
-     *   class. The array entries known are 'type', 'module', and 'name'
-     *   matching the parameters of module_load_include(). Only 'module' is
-     *   required as 'type' defaults to 'inc' and 'name' to NULL.
-     */
-    public function extendByClass($interface, $className, array $includes = array()) {
-      $parents = class_implements($className);
-      if (!in_array('FacesExtenderInterface', $parents)) {
-        throw new FacesExtendableException("The class " . check_plain($className) . " doesn't implement the FacesExtenderInterface.");
-      }
-      $interfaces = is_array($interface) ? $interface : array($interface);
-
-      foreach ($interfaces as $interface) {
-        if (!in_array($interface, $parents)) {
-          throw new FacesExtendableException("The class " . check_plain($className) . " doesn't implement the interface " . check_plain($interface) . ".");
-        }
-        $this->faces[$interface] = $interface;
-        $this->faces += class_implements($interface);
-        $face_methods = get_class_methods($interface);
-        $this->addIncludes($face_methods, $includes);
-        foreach ($face_methods as $method) {
-          $this->facesMethods[$method] = array(1 => $className);
-        }
-      }
-    }
-
-    /**
-     * Extend the object by the given functions to implement the given
-     * interface. There has to be an implementation function for each method of
-     * the interface.
-     *
-     * @param $interface
-     *   The interface name or FALSE to extend the object without a given
-     *   interface.
-     * @param $methods
-     *   An array, where the keys are methods of the given interface and the
-     *   values the callback functions to use.
-     * @param $includes
-     *   An optional array to describe files to include before invoking the
-     *   callbacks. You may pass a single array describing one include for all
-     *   callbacks or an array of arrays, keyed by the method names. Look at the
-     *   extendByClass() $include parameter for more details about how to
-     *   describe a single file.
-     */
-    public function extend($interface, array $callbacks = array(), array $includes = array()) {
-      $face_methods = $interface ? get_class_methods($interface) : array_keys($callbacks);
-      if ($interface) {
-        if (array_diff($face_methods, array_keys($callbacks))) {
-          throw new FacesExtendableException("Missing methods for implementing the interface " . check_plain($interface) . ".");
-        }
-        $this->faces[$interface] = $interface;
-        $this->faces += class_implements($interface);
-      }
-      $this->addIncludes($face_methods, $includes);
-      foreach ($face_methods as $method) {
-        $this->facesMethods[$method] = array(0 => $callbacks[$method]);
-      }
-    }
-
-    /**
-     * Override the implementation of an extended method.
-     *
-     * @param $methods
-     *   An array of methods of the interface, that should be overriden, where
-     *   the keys are methods to override and the values the callback functions
-     *   to use.
-     * @param $includes
-     *   An optional array to describe files to include before invoking the
-     *   callbacks. You may pass a single array describing one include for all
-     *   callbacks or an array of arrays, keyed by the method names. Look at the
-     *   extendByClass() $include parameter for more details about how to
-     *   describe a single file.
-     */
-    public function override(array $callbacks = array(), array $includes = array()) {
-      if (array_diff_key($callbacks, $this->facesMethods)) {
-        throw new FacesExtendableException("A not implemented method is to be overridden.");
-      }
-      $this->addIncludes(array_keys($callbacks), $includes);
-      foreach ($callbacks as $method => $callback) {
-        $this->facesMethods[$method] = array(0 => $callback);
-      }
-    }
-
-    /**
-     * Adds in include files for the given methods while removing any old files.
-     * If a single include file is described, it's added for all methods.
-     */
-    protected function addIncludes($methods, $includes) {
-      $includes = isset($includes['module']) && is_string($includes['module']) ? array_fill_keys($methods, $includes) : $includes;
-      $this->facesIncludes = $includes + array_diff_key($this->facesIncludes, array_flip($methods));
-    }
-
-    /**
-     * Only serialize what is really necessary.
-     */
-    public function __sleep() {
-      return array('facesMethods', 'faces', 'facesIncludes');
-    }
-
-    /**
-     * Destroys all references to created instances so that PHP's garbage
-     * collection can do its work. This is needed as PHP's gc has troubles with
-     * circular references until PHP < 5.3.
-     */
-    public function destroy() {
-      // Avoid circular references.
-      $this->facesClassInstances = array();
-    }
-
-    /**
-     * Makes protected properties accessible.
-     */
-    public function &property($name) {
-      if (property_exists($this, $name)) {
-        return $this->$name;
-      }
-    }
-
-    /**
-     * Invokes any method.
-     *
-     * This also allows to pass arguments by reference, so it may be used to
-     * pass arguments by reference to dynamically extended methods.
-     *
-     * @param $name
-     *   The method name.
-     * @param $arguments
-     *   An array of arguments to pass to the method.
-     */
-    public function call($name, array $args = array()) {
-      if (method_exists($this, $name)) {
-        return call_user_func_array(array($this, $name), $args);
-      }
-      return $this->__call($name, $args);
-    }
-  }
-}
\ No newline at end of file
