NetworkClient now inherit from std::enable_shared_from_this