For structs protected by a single mutex, embed the mutex for more concise usage. Also use a sync.Mutex directly, rather than a pointer, to avoid the need for initialization (because a Mutex's zero-value is valid and ready to be used). Upstream-commit: 1cf9c80e976fb60b4d5d489cd1c4c9959bcc4f7f Component: engine