Remove Deferred, instead using constructor pattern