It is the Waher.Runtime.Inventory module that keeps track of all modules, classes, and types in the runtime environment. You don't have to initialize it yourself, as you did in the earlier chapters. The IoT Gateway makes sure to initialize it with all available assemblies. However, it defines an interface IModule that might be of importance to you. By implementing it, you will get notified when the Gateway starts and stops. This is done through calls to the Start() and Stop() methods defined by the interface. By implementing this interface, you can make sure to initialize and terminate your service module properly.