add thread sanitization, fix thread pool sync
change EntityConstructor to EntityBundle, add tests