The joiner is ready to have alternative back ends implemented.
Minor cleanup of the script, making it easier to test.