[#387] re-ordered some code to avoid any bad surprise with older browser

`mixin` was declared using `defineProperty`, and this before
`defineProperty` was eventually defined (for compatiblity with older
browsers )