Do you think we'd be missing out on any important aspect if we boiled it down to something like:
```
class Printer(labeller: =>Unit) {
  def print(message: =>String, labelled: Boolean = false) {
    if (labelled) labeller
    Console println s"$message  $message"  // repeat message to make sure it gets thru
  }   
}

var userName = "paulp"
def prompt() {
  Console print (if (userName == "root") "#admin> " else s"$userName$$ ")
}
val p = new Printer { prompt }
p print "I am Master of the Universe!"
p.print("I am Master of the Universe!", true)
```
?