I missed that comment, yes.

I don't think it's a good idea to change it. The decorator pattern (and the composition) is really a really good idea.

If we have two different ways of doing something based on terminal capabilities, it's bound to happen that someone changes the path that affects them without considering the other. Right now, the only difference is the colorizer whereas the proposed change would make input parsing and outputting different too (both simple concepts in isolation, but not so much as you do it in multiple ways without the same implementation).

It's simpler in terms of lines of code, but I think that's a bad metric. Just consider how the buried if statement and the separate paths would make tests complicated. (I realize we don't have any tests and I definitely have zero experience testing Go code, but the current approach would be very simple to test, so we probably should.)