Multiple modifications to be pulled in to get them in sync

This pull request will hopefully get the two repositories in sync so that I can start doing pull requests directly to main repo.

I think most of these are already applied except for the last two.

Modified my implementation with Jake's suggested fix.  Did not know that method existed and good to know.

Also, includes Legacy Code changes.  Most of these will be breaking changes to external applications that use these Methods and Properties.