How about initializing the CommManager as part of the kernel startup, and considering it part of the kernel service?  You could initialize it in the `_kernel_started` callback, and store it as an attribute of the kernel itself.  I'm a little ambivalent about this idea.  But really the comm manager is tied to the kernel, and if you have multiple kernels managed from a single page (like we do), it makes sense to store the comm manager with the kernel.