An object reference that may be updated thread-safely.
Provides an existing T object reference.
Provides either an existing T object or creates a new one using builder function.
Drops an existing T object reference to null.
Accepts value instance of T and holds its reference.