change type Task.result String=>Object
remove duplicate code
fix remote invocation