Target: Modularity
 - Split functions into separate files
 - Build system for monolithic (include at build time rather than source at runtime)

Target: Robustness
 - Retry submission functionality for long-running sessions
 - Cope with unreported failures (HOW?!)
 - Deal with partial cache flush successes
 - Make lockfile-progs optional

Target: UI
 - ncurses frontend
 - Multi-threaded operation (daemon a la vux?)
