Fix namespaces
Fix badly renamed setting
Rework the API, switch to .NET 4 and use covariance