protected function doBeforeOrAfter($which, $action, array $args)
	{
		$method = $which.ucfirst($action);

		if (method_exists($this, $method)) {
			$result = call_user_func_array([$this, $method], $args);
			if ($result === false) return $result;
		}

		return null;
	}