Renamed 'routine' to 'task' and integrated existing Routine code with existing Task code.  A Task that returns values is a 'Generator'.