This version is old school.
Please find jQuery plugins on npm.
Defer
by Rhys Evans
Utility method for forcing [some of] an object's methods to wait for a deferred object to complete before running