add handling for map and component
handle inheritance, methods that are already marked as transient, etc.