Added custom transform mixin.

Also tweaked mixin code to allow for mixin arg lists to be of any length when
they are called (which allows mixins to have optional args).