chat: enable shared from this; added start function
discovery: using enable_shared_from_this and start