Added internal promise engine

no need for jQuery.Deferred anymore