This work is based on something worked up by Terris Linenbach. The callback interface will be extended, but I'm kind of feeling my way with this. Comments welcome.