Make guarded sections of code that won't run concurrently and queue instead
Ensure that some code always executes exclusively, in the order it is called