that's true if (a) your task should automatically pick up effector-context related settings, (b) the factory should support multiple invocations; and (c) any invocation should return a non-modifiable object

it is confusing but clean, which i think is the better option vs trying to be too clever.  i don't see the need for a whole lot of these tasks btw.  and things like isPidRunning become fairly easy and powerful.  (better than how we did it previously i think.)  open to alternatives but i just don't see them.  the factory/copy pattern is always tedious.

what might help (and what i will do) is rename SshTask* to SshExecTask*.