Require that TRootViewModel is a class
First attempt at a nuget package