a Scala, como eu combinaria a programação orientada a eventos com uma abordagem funciona

Para esclarecer o que quero dizer com direcionado a eventos, estou me referindo a uma situação em que tenho

def onTrade(...)

Qual é chamado sempre que uma ação específica é negociada. Suponha que eu queira acompanhar o preço de negociação mais alto diário. Para mim, a solução óbvia é:

var dailyHigh = 0

def onTrade(...) {
    if (price > dailyHigh) dailyHigh = price
}

Existe uma maneira de alcançar essa funcionalidade usando val em vez de var? Suponha também que eu queira adicionar dailyLow, volumeHigh, volumeLow etc. no futuro.

questionAnswers(5)

yourAnswerToTheQuestion