Add mixins support and extract exceptions to mixin