Program is now feature-complete! But buggy as hell. Still a lot of work
to be done. See "//TODO" notes.