No point calling operations async. We want to ensure success before continuing
Tidy up code
Comment on use of ConditionalWeakTable