Nearly there with AutoMocking. The trick will be to make the base mock class TypeInfo based, then allow a generic version of it for user interaction.
The base mock object/record will need to be typeinfo based as we can only create mocks on the fly like this. Generics only work at compile time
not during execution. Currently things seem to be working for Interfaces, however objects have an issue. I believe this is to do with the object
proxy not being fully implemented.