Added unit tests for the identity map
Moved the list of valid types to a static readonly field.
Added more unit tests
Cleaned up usings
Marked setters private for properties that should not be externally set
Added more unit tests