I have found the join node (part of split) quite useful, not the least that it can collect N messages and send them after a defined time after the first message.
However, I have a case where I would like it to be a certain time after the last message, or when the required number of parts has been fulfilled. My first thought was to add a new option into the interface that allowed the timer to be reset upon every message. But to me it seemed more cumbersome, and less useful/dynamic than the approach I actually chose (I have small a patch ready).
Since the node already listens for msg.complete and msg.reset I though I'll just add support for msg.resetTimeout as well. It's a very small patch and the user can choose with which messages the timer should reset, or not at all. Also, 100% backward compatibility, as long as no one has resetTimeout set, to a value interpreted as true, for some other reason.