finished moving to a new multiple inheritance scheme, based on selfish by @gozala. I added an inheritance tracking mechanism based on bitflags to make it possible to call hasFeature() on any instance with the class to check for if the instance contains that class.