First try of a multi-threaded data storage
Messy tests how to structure the multi-threaded part and the data passing between threads