study for Scala Cake Pattern