Added generics for classes
Got parameterized types working for method return types
Removed decoratedName
Added parameterized types to parameters while preserving annotations
Removed decoratedName and added setter annotations
Fixed commenting and spacing
Removed a blank line
Fixed tests to follow new format
Fixed code review suggestions