Reworked variant m2m behaviour to exactly mirror it's parent product