It's been a while, but now it appears to do what I want it to do. So I'm calling this version 1.0.