new NonBlockingMailbox and MayBlockMailbox interfaces & implementing classes