The problem with say is that it's puts-only. To have the message be printed, then overwritten, it needs to be printed without the trailing newline. Also, I personally like the temporary message to be printed in the default, then be colorized when finalized.