Mutexes

Mutexes allow safe access of state across multiple goroutines. If one goroutine is r/w to a var, other goroutines are mutually excluded from accessing it.