Classes, interfaces and traits