UPD: рефакторинг по #528 queue_base