I think I have code in place to handle all the actions I want in this module.
Untested.