turn subscribe and update back into methods of Deferred