add JavaDoc for Task + thinking about TaskEnvironment