Utility class that wraps type and prints *this, thead_id, and function name when it is constructed, assigned or destructed