message queue becomes shared_ptr instaed of reference. added option to stop immediately after logger::stop