In theory, wouldn't we always have at most one on going process? You shouldn't need a dictionary at all since I believe individual connections would be handled via individual instances of the controller.