FWIW: This approach also has issues, because the consumer can send conflicting messages. By setting `stop` to `YES` while simultaneously returning `YES`. When this occurs the consumer is asking us to abort and continue --two mutually exclusive requests. My approach to this issue is to prioritize the return value. Do you think this is the correct approach?