Note this is a code'n'run module: it works, but for a specific use case. It is provided in the hope it may prove useful to others and serve as a starting point. You will need to hack it to your needs or better yet, provide patches to make it more generic and customizable.