code: func (m *Mgr) Register(ledgerid string, l ChaincodeLifecycleEventListener) {
  	// write lock to synchronize concurrent 'chaincode install' operations with ledger creation/open
  	m.rwlock.Lock()
  	defer m.rwlock.Unlock()
  	m.ccLifecycleListeners[ledgerid] = append(m.ccLifecycleListeners[ledgerid], l)
  }
docs: // Register registers a ChaincodeLifecycleEventListener for given ledgerid
  // Since, `Register` is expected to be invoked when creating/opening a ledger instance