Refactor
Create TypeInfo, MethodInfo etc. interfaces