This spec now correctly tests the plaintext mode, again, everything else is just refactor.