code: function() {
  			
  			return {
  				// if the tooltip should display an arrow that points to the origin
  				arrow: true,
  				// the distance in pixels between the tooltip and the origin
  				distance: 6,
  				// allows to easily change the position of the tooltip
  				functionPosition: null,
  				maxWidth: null,
  				// used to accomodate the arrow of tooltip if there is one.
  				// First to make sure that the arrow target is not too close
  				// to the edge of the tooltip, so the arrow does not overflow
  				// the tooltip. Secondly when we reposition the tooltip to
  				// make sure that it's positioned in such a way that the arrow is
  				// still pointing at the target (and not a few pixels beyond it).
  				// It should be equal to or greater than half the width of
  				// the arrow (by width we mean the size of the side which touches
  				// the side of the tooltip).
  				minIntersection: 16,
  				minWidth: 0,
  				// deprecated in 4.0.0. Listed for _optionsExtract to pick it up
  				position: null,
  				side: 'top',
  				// set to false to position the tooltip relatively to the document rather
  				// than the window when we open it
  				viewportAware: true
  			};
  		}
docs: Defaults are provided as a function for an easy override by inheritance
  
  @return {object} An object with the defaults options
  @private