Long standing idea. Discussed with Jeff Boote of Internet2. This involves refactoring the code and breaking it into the testing code which presents an API and rewriting the CLI interface to use this API. SWIG bindings for Python and Perl would be nice too.