Improve acceptance tests and resolve Issue #12

A decently large change, but hopefully it paves the way for the next ones to be more straightforward and much better tested. I'll add a bugfix version bump once the branch is merged.