code: function() {
  		this.tree = new Fancytree(this);
  
  		this.$source = this.source || this.element.data("type") === "json" ? this.element
  			: this.element.find(">ul:first");
  		// Subclass Fancytree instance with all enabled extensions
  		var extension, extName, i,
  			extensions = this.options.extensions,
  			base = this.tree;
  
  		for(i=0; i<extensions.length; i++){
  			extName = extensions[i];
  			extension = $.ui.fancytree._extensions[extName];
  			if(!extension){
  				$.error("Could not apply extension '" + extName + "' (it is not registered, did you forget to include it?)");
  			}
  			// Add extension options as tree.options.EXTENSION
  //			_assert(!this.tree.options[extName], "Extension name must not exist as option name: " + extName);
  			this.tree.options[extName] = $.extend(true, {}, extension.options, this.tree.options[extName]);
  			// Add a namespace tree.ext.EXTENSION, to hold instance data
  			_assert(this.tree.ext[extName] === undefined, "Extension name must not exist as Fancytree.ext attribute: '" + extName + "'");
  //			this.tree[extName] = extension;
  			this.tree.ext[extName] = {};
  			// Subclass Fancytree methods using proxies.
  			_subclassObject(this.tree, base, extension, extName);
  			// current extension becomes base for the next extension
  			base = extension;
  		}
  		//
  		this.tree._callHook("treeCreate", this.tree);
  		// Note: 'fancytreecreate' event is fired by widget base class
  //        this.tree._triggerTreeEvent("create");
  	}
docs: /* Set up the widget, Called on first $().fancytree()