Switch to using receive() instead of then() to avoid conflicts with promises