private static void InvokeAndAssert(ComplexClass instance)
{
instance.DoNothing();
instance.DoSomething();
int arg = 1;
instance.DoSomething(arg);
instance.DoSomething(arg, "hiya");
//TODO: Intercept by ref calls.
//Assert.AreEqual(arg, instance.Pong(ref arg));
instance.Name = "John Johnson";
Assert.AreEqual( "John Johnson", instance.Name );
instance.Started = true;
Assert.IsTrue( instance.Started );
}