Added XML documentation comments.  Refactored lightly a la ReSharper