	var hooks = _.hooks.all;

						hooks[name] = hooks[name] || [];

						hooks[name].push(callback);
					},

					run: function (name, env) {
						var callbacks = _.hooks.all[name];

						if (!callbacks || !callbacks.length) {
							return;
						}

						for (var i=0, callback; callback = callbacks[i++];) {
							callback(env);
						}
					}
				}
			};

			var Token = _.Token = function(type, content, alias, matchedStr, greedy) {
				this.type = type;
				this.content = content;
				this.alias = ali