function timeout(newTimeout) {
	var self = this;
	argy(arguments)
		.ifForm('', function() {
			self._struct.push({ type: 'timeout', delay: false });
		})
		.ifForm('boolean', function(setTimeout) {
			if (setTimeout) throw new Error('When calling .timeout(Boolean) only False is accepted to disable the timeout');
			self._struct.push({ type: 'timeout', delay: false });
		})
		.ifForm('number', function(delay) {
			self._struct.push({ type: 'timeout', delay: delay });
		})
		.ifForm('function', function(callback) {
			self._struct.push({ type: 'timeout', callback: callback });
		})
		.ifForm('number function', function(delay, callback) {
			self._struct.push({ type: 'timeout', delay: delay, callback: callback });
		})
		.ifForm('function number', function(delay, callback) {
			self._struct.push({ type: 'timeout', delay: delay, callback: callback });
		})
		.ifFormElse(function(form) {
			throw new Error('Unknown call style for .timeout():' + form);
		});

	return self;
}
function timeout(newTimeout) {
	var self = this;
	argy(arguments)
		.ifForm('', function() {
			self._struct.push({ type: 'timeout', delay: false });
		})
		.ifForm('boolean', function(setTimeout) {
			if (setTimeout) throw new Error('When calling .timeout(Boolean) only False is accepted to disable the timeout');
			self._struct.push({ type: 'timeout', delay: false });
		})
		.ifForm('number', function(delay) {
			self._struct.push({ type: 'timeout', delay: delay });
		})
		.ifForm('function', function(callback) {
			self._struct.push({ type: 'timeout', callback: callback });
		})
		.ifForm('number function', function(delay, callback) {
			self._struct.push({ type: 'timeout', delay: delay, callback: callback });
		})
		.ifForm('function number', function(delay, callback) {
			self._struct.push({ type: 'timeout', delay: delay, callback: callback });
		})
		.ifFormElse(function(form) {
			throw new Error('Unknown call style for .timeout():' + form);
		});

	return self;
}
function timeout ( newTimeout ) { var self = this ; argy ( arguments ) . ifForm ( '' , function ( ) { self . _struct . push ( { type : 'timeout' , delay : false } ) ; } ) . ifForm ( 'boolean' , function ( setTimeout ) { if ( setTimeout ) throw new Error ( 'When calling .timeout(Boolean) only False is accepted to disable the timeout' ) ; self . _struct . push ( { type : 'timeout' , delay : false } ) ; } ) . ifForm ( 'number' , function ( delay ) { self . _struct . push ( { type : 'timeout' , delay : delay } ) ; } ) . ifForm ( 'function' , function ( callback ) { self . _struct . push ( { type : 'timeout' , callback : callback } ) ; } ) . ifForm ( 'number function' , function ( delay , callback ) { self . _struct . push ( { type : 'timeout' , delay : delay , callback : callback } ) ; } ) . ifForm ( 'function number' , function ( delay , callback ) { self . _struct . push ( { type : 'timeout' , delay : delay , callback : callback } ) ; } ) . ifFormElse ( function ( form ) { throw new Error ( 'Unknown call style for .timeout():' + form ) ; } ) ; return self ; }
Queue up a timeout setter
@param {number|function|false} Either a number (time in ms) of the timeout, a function to set the timeout handler to or falsy to disable
@return {Object} This chainable object
Queue up a timeout setter