Has this been implemented in any contributed module?
Thanks,
v