Simple Deferred/Promise interface