Event Streams status and config change events

I am having a few issues with threads becoming orphaned when I change config on the Designer screens. I am not seeing where the change in config will send an event to the module to reinitialise the module with the updated config. Does the Event Stream Source re-run the onStartup() function every time the config changes or is that up to us to detect and implement?

public class TcpSource implements EventStreamSource {

You should get onStartup() and onShutdown() called on the EventStream, and create() called on your Factory, as necessary.