I really like how general this approach can be, but I think we need to document and test it's capabilities.