* refactored switch statement in Task Provider query to use interfaces.
 * made taskJoinRepeat more robust