unnecessary synchronized
make tests work with gcd
tests
release serial queue, start flush timer and don't unarchive async