Okay, sounds good. Perhaps I'll hold off on changing the guts until we go through the use cases, since as you suggest refactoring this for real uses may inform the best implementation.