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