TypeDescriptor building refactored
* TypeAdapter added
* Common TypeHierarchyDirector created
* Code comments