reckon.js
function(params) {
		/**
		 * Reckon version
		 * @type {String}
		 */
		this.version = '0.1.0';

		/**
		 * Define delimiter that marks beginning of interpolation
		 * @type {String}
		 */
		this.delimStart = settings.delimStart;
		
		/**
		 * Define delimiter that marks end of interpolation
		 * @type {String}
		 */
		this.delimEnd = settings.delimEnd;

		/**
		 * Get the text from params
		 * @type {String}
		 */
		this.text = typeof params !=="undefined" && params.text !== "undefined" ? params.text : '';

		/**
		 * Get the scope from the params and ensure its an array, if not, make it one
		 * @type {Array}
		 */
		this.scopes = typeof params !=="undefined" && typeof params.scope !== "undefined" ? [].concat(params.scope) : [];

		/**
		 * Check if config needs to be applied from the global settings
		 */
		this.applyConfig();

		/**
		 * Compile the initial input
		 */
		if (typeof params !=="undefined" && typeof params.text !== "undefined")
			this.compile();
	}
function(params) {
		/**
		 * Reckon version
		 * @type {String}
		 */
		this.version = '0.1.0';

		/**
		 * Define delimiter that marks beginning of interpolation
		 * @type {String}
		 */
		this.delimStart = settings.delimStart;
		
		/**
		 * Define delimiter that marks end of interpolation
		 * @type {String}
		 */
		this.delimEnd = settings.delimEnd;

		/**
		 * Get the text from params
		 * @type {String}
		 */
		this.text = typeof params !=="undefined" && params.text !== "undefined" ? params.text : '';

		/**
		 * Get the scope from the params and ensure its an array, if not, make it one
		 * @type {Array}
		 */
		this.scopes = typeof params !=="undefined" && typeof params.scope !== "undefined" ? [].concat(params.scope) : [];

		/**
		 * Check if config needs to be applied from the global settings
		 */
		this.applyConfig();

		/**
		 * Compile the initial input
		 */
		if (typeof params !=="undefined" && typeof params.text !== "undefined")
			this.compile();
	}
function ( params ) { /**
		 * Reckon version
		 * @type {String}
		 */ this . version = '0.1.0' ; /**
		 * Define delimiter that marks beginning of interpolation
		 * @type {String}
		 */ this . delimStart = settings . delimStart ; /**
		 * Define delimiter that marks end of interpolation
		 * @type {String}
		 */ this . delimEnd = settings . delimEnd ; /**
		 * Get the text from params
		 * @type {String}
		 */ this . text = typeof params !== "undefined" && params . text !== "undefined" ? params . text : '' ; /**
		 * Get the scope from the params and ensure its an array, if not, make it one
		 * @type {Array}
		 */ this . scopes = typeof params !== "undefined" && typeof params . scope !== "undefined" ? [ ] . concat ( params . scope ) : [ ] ; /**
		 * Check if config needs to be applied from the global settings
		 */ this . applyConfig ( ) ; /**
		 * Compile the initial input
		 */ if ( typeof params !== "undefined" && typeof params . text !== "undefined" ) this . compile ( ) ; }
The actual Reckon implementation
@param {Object} params Configuration and data
The actual Reckon implementation