I thought that we only get one controller instance for all the connections since we are getting a connectionId for every OnReceived and OnDisconnected. That seems a bit confusing. why not just pass the connectionId to the Controller's constructor then?