using unique_ptr for dynamically allocated CSVReporter object.
and because of that using C++11 compiler (-std=c++0x)