code: function Featherlight($content, config) {
  		if(this instanceof Featherlight) {  /* called with new */
  			this.id = Featherlight.id++;
  			this.setup($content, config);
  			this.chainCallbacks(Featherlight._callbackChain);
  		} else {
  			var fl = new Featherlight($content, config);
  			fl.open();
  			return fl;
  		}
  	}
docs: /* Featherlight is exported as $.featherlight.
  It is a function used to open a featherlight lightbox.
  
  [tech]
  Featherlight uses prototype inheritance.
  Each opened lightbox will have a corresponding object.
  That object may have some attributes that override the
  prototype's.
  Extensions created with Featherlight.extend will have their
  own prototype that inherits from Featherlight's prototype,
  thus attributes can be overriden either at the object level,
  or at the extension level.
  To create callbacks that chain themselves instead of overriding,
  use chainCallbacks.
  For those familiar with CoffeeScript, this correspond to
  Featherlight being a class and the Gallery being a class
  extending Featherlight.
  The chainCallbacks is used since we don't have access to
  CoffeeScript's `super`.