Finally changed it to allow multiple inheritance, it seems to work, needs more testing and some refactoring, but it looks good. No more mixin...