Profiler refactoring: extracted profiling timer into separate class.
Also removed code duplication in timer completion logic.
Profiler refactoring: YAGNI