postpone adapter start until Record is built

Record building now blocks until finished, because otherwise any changes fired during the record building are non-deterministic and inconsistent.

Code based on https://github.com/guard/listen/tree/listen_false_until_built (thanks, @thibaudgg !)