[WIP] Fixed #277 - Prevent sync concurrency

maybe we shouldn't expose this. Maybe we should just have it as an internal method