Avoid use of (slow) Activator.CreateInstance