That is an implementation detail. I would personally prefer to treat Phred scores as just a strange encoding used during I/O, and use log probabilities or other probability-based representations internally (other examples of such include probability of a particular event of a random variable, or the expected value of a Beta distribution).

Also, it's not obvious whether a Phred score is a log success probability or log error probability, so that's one more pesky detail to remember on top of when to multiply by 10 or -10 and before or after taking logs, etc.