Addition of lazy resolution.  Resolution is only triggered upon call done, fail, always, and then. Also did a few small code stylistic changes