Full Rewrite.

Some notes...

Don't include nuget package DLLs in source control.

Keep the user interface of your classes small.