Updated mixin object so there is less duplicate code.
The object which is about to be mixed can also be a uninitialized object.
Made a start on the extra debugging.