drop commented code
rename variables for better readability
pass output handler as an argument to run() method

This is more explicit than directly manipulating task internal state
let's make ESX task output redirectable too
add mandatory imports
no return value to run() method
pass all server-related parameters to isEnabled()

All tasks using new JSON-based server dialog need to communicate with
the server during this initial stage, to know if the task is requested.
perform actual task check in isEnabled() method
send messages only if control server exists

This allows to run the task without a control server.
use run() method directly now
keep local method privates
drop useless imports
rename $input -> $controller
rename $output -> $broker
fix expected results
add mandatory imports
use agent version directly now
allow configurable results target
use agent version directly now