Simple utility for building an on-demand (lazy) object-initializer.
Works by accepting an initializer describing how to build the on-demand object, which is only called once and only after the first
invocation of get() (or it may not be called at all).
Supplierinstead