I think we should start with a purely abstract trait. We can liken this to a Java interface. In a second step, we can show that Scala traits allow default implementations for methods.