Avoid copies of the StopWatch
Use sane datastructure in Utility::StopWatch

We don't want to logging to be O(N^2)

Also avoid usage of macro when possible