public function addProfiler($profiler, $name = null) {
		if ($profiler instanceof ProfileableInterface) {
			if (! $profiler->isProfilerEnabled()) {
				$profiler->setProfilerStatus(true);
			}
			
			$profiler = $profiler->getProfiler();
		}
		
		if ($profiler instanceof ProfilerInterface) {
			if ($name === null && $profiler instanceof ProfilerExtendedInterface) {
				$name = $profiler->getName() . ' profiler';
			}
			
			$this->addCollector('profiler', $name, [
				'profiler' => $profiler
			]);
		}
		
		return $this;
	}