changed how messages are passed in and out of WaitingForMessage