fixed enter and exit routes so that the callback return promises