Sounds like a pretty fundamental piece of logic. I have been wondering why this hasn't been the default implementation of the module. I must have been overlooking something 😉
Cheers