support return values
get rid of type parameter in forService
InvocationProxy: properly handle anonymous and other types of classes