Trait powerups

Allow traits to implement interfaces as a way of adding default methods to them