Enable NuGet package restore
Leverage dynamics instead of handling each type as a separate case.