Using lambda callbacks to track progress and remove prints to std::cout
Moved inline functions definitions
Removed prints to std::cout