`afterSubmit` needs to return a promise, right?