is the mutex necessary or do you just wanna protect from syncing on the Shared instance? otherwise you can be consistent and use `syncrhonized`?