RunLoop already has a queue, and has the ability to schedule weak mailboxes, so we can remove the duplicate code.