can it be
```
  class MessageQueue(val capacity: Int, val _pushTimeOut: FiniteDuration) extends ControlAwareMessageQueueSemantics  {
    val controlQueue = new LinkedBlockingQueue[Envelope](capacity) with BoundedQueueBasedMessageQueue {
      def pushTimeOut = _pushTimeOut

      override def queue = this
    }
    val queue = new LinkedBlockingQueue[Envelope](capacity) with BoundedQueueBasedMessageQueue {
      def pushTimeOut = _pushTimeOut

      override def queue = this
    }

    override def enqueue(receiver: ActorRef, handle: Envelope): Unit = handle match {
      case envelope @ Envelope(_: ControlMessage, _) ⇒ controlQueue.enqueue(receiver, envelope)
      case envelope                                  ⇒ queue.enqueue(receiver, envelope)
    }
  }
```
? 
to avoid duplication in `enqueueWithTimeout`