Channel:demand
Retrieves the value of a Channel message and removes it from the message queue.

It waits until a message is in the queue then returns the message value.
value = Channel:demand()
value Variant The contents of the message.
value = Channel:demand( timeout )
timeout number The maximum amount of time to wait.
value Variant The contents of the message or nil if the timeout expired.