events, message_queue: event messages throughout the library are handled by std::unique_ptr now (instead of std::shared_ptr).