[WIP] Acceptance test spike

Just adding some more stuff to the one @MattDavies created at #11 (refactoring, etc.)