public ISourceRegistration <T> CreateAndRegisterSource(ISourceFactory <T> factory) { var source = factory.CreateSource(); var registration = new RegisteredEnergyObservationSourceWrapper <T>(this, source); _registeredSources.Add(registration); return(registration); }