Fixed typo: Dependecy -> Dependency
Implemented generic type "unrolling" for method parameters and return types