public function trigger ($value, $precedence = null)
		{
			if (is_null($precedence)) {
				$functions = array();

				ksort($this->hooks);

				foreach ($this->hooks as $function_set) {
					foreach ($function_set as $function) {
						$functions[] = $function;
					}
				}

				foreach ($functions as $function) {
					$value = call_user_func_array($function, array($value));
				}

				return $value;

			} else {
				if (isset($this->hooks[$precedence])) {
					foreach ($this->hooks[$precedence] as $function) {
						$value = call_user_func_array($function, array($value));
					}
				}

				return $value;
			}
		}