the _powerProvider was always a CRP, add IPipeServiceProvider as a subset of CRP for modules.
Move sparkles to that.
Add utility method for "every Nth tick" with a pseudorandom offset per pipe.
every CRP is a IInventoryProvider, move that interface to below IPipeServiceProvider.
IRoutedPowerProvider already has getX/Y/Z.
Get rid of IInventoryProvider in registerHandler, it's always == _service.
Nearly all modules need _world and _service, just keep them in LogisticsModule.