Coming from a C++ background, Im used to multiple inheritance. I like the feeling of a shotgun squarely aimed at my foot. Nowadays, I work more in C# and Java, where you can
DoMagic works with a lot of Private members. Can you package these private variables internal possibly? This way the extension method could access them.If nothing seems particularly good, pick what feel best, use it a couple times, and rearrange tomorrow. :)