Look into methods for implementing simple concurrency. Ideas: STM (Software Transactional Memory. e.g. Clojure)