Moved the deferred resolver logic into the socket utility from the communicator
Renamed Communicator Spec because it is not a model.
Added spec for LazyLoader
Made the LazyLoader more generalized and created a SpecializedLoader to make it more specialized to the app. Tests included.