CSHARP-797: Rebased on master.
CSHARP-797: Minor refactoring. Removed classes that are no longer used.