Major restructuring to a template-based plugin framework to allow for adding future extensions without obstructing understanding of the underlying algorithms.