Abstraction for loading resources (streams, files, and classes).
Finds class of the name and expected type
Creates an instance of the name and expected type
Opens a named resource