Okay, great! Thanks for reviewing. I've addressed your points as well as a few tweaks in the spirit of preserving the abstraction boundary. Would the attached patch revision be acceptable?