Changed accept to return a shared_ptr<Socket>