Documentation updates
Refactoring and fixing bugs
Added save callback that runs when deferred association is saved
Fixed tests to use temp callback ivar