Refactor -initially: to use +defer: internally