Update async interface to be more generic.