Myriad bug fixes
 * Added more diagnostics
 * Refactored so that `units` refer to the counter currency
 * Cleanup