This interface is used by parts of the code that kick off tasks to give the task a "context" to operate in.
This MUST implement the equals/hashCode design pattern because the TaskManager uses it to prevent
multiple submissions of task with the same "context".
This factory method is called to build a progress URL so the TaskDescriptor can allow some one to navigate to the
task's "web page". The URL should start with "/" and be ready for the servlet context path to be prepended.
taskId - - the id of the task. Since this is not known until task submission, this call back is informed of it once created.
returns a context specific progress URL that a user can go to to view the progress of a task.