Fixed misc type issues
Added abstract getMethodName
Some refactoring and cleanup