Introduce drawer persistence take 2

Same changes as in pull request #251, but hopefully this time with a passing build.