Carregando manipuladores de eventos genéricos no Scala

Se eu definir o seguinte manipulador de eventos genérico

trait Handles[E <: Event] {
  def handle(event: E)
}

com tipo de evento como este

trait Event {

}
class InventoryItemDeactivated(val id: UUID) extends Event;

class InventoryItemCreated(val id: UUID, val name: String) extends Event;

como faço uma classe única que implementa manipuladores de eventos para cada um desses eventos? Eu tentei

class InventoryListView extends Handles[InventoryItemCreated] with Handles[InventoryItemDeactivated] {
    def handle(event: InventoryItemCreated) = {

    }

    def handle(event: InventoryItemDeactivated) = {

    }
  }

mas Scala reclama que uma característica não pode ser herdada duas veze

Eu achei istorespond, que sugere uma solução, mas exige várias classes (uma para cada manipulador). Essa é realmente a única maneira ou existe algum outro construto Scala que eu possa usar para fazer uma única classe implementar vários manipuladores de eventos genéricos (ou seja, usar classes de caso, manifestos ou algum outro construto sofisticado

questionAnswers(2)

yourAnswerToTheQuestion