nit:
if (this.registeredChannels) {
  //... get from cache
  return;
}
// populate cache