Changed trait to abstract class; not sure what I was thinking!