The current cphotang computation has a high-coupled structure with very little modularity. This is inflexible and poorly suited to future optimizations. The implementation should be broken up into several components:
Such structure should enable additional application options and data products.