code: function() {
          var comps = this.__c,
              comp,
              prop,
              clone = Crafty.e();
  
          for (comp in comps) {
              clone.addComponent(comp);
          }
          for (prop in this) {
              if (
                  prop !== "0" &&
                  prop !== "_global" &&
                  prop !== "_changed" &&
                  typeof this[prop] !== "function" &&
                  typeof this[prop] !== "object"
              ) {
                  clone[prop] = this[prop];
              }
          }
  
          return clone;
      }
docs: @
  #.clone
  @comp Crafty Core
  @kind Method
  
  @sign public Entity .clone(void)
  @returns Cloned entity of the current entity
  
  Method will create another entity with the exact same
  properties, components and methods as the current entity.