Added LazyReference class
Consolidated Supplier code from two different packages