added CallLocation
redesigned Task.name() to return Name not String
refactored PluginTask
fixed javadoc in PluginFunction
changed terminology PluginFunction -> NativeFunction