I have been learning Scala for a couple months and want to get a more concrete understanding of proper oop practice. I find it difficult to optimally use traits, abstract classes and inheritance. If anyone has any advice it would be greatly appreciated. Thank you.