Traits in Scala- Advanced concepts