extracted a supporting method
changed the $canViewTasks to be a sentinel check instead of spread throughout the code
changing the loader to use our database loadList instead of a raw query
eliminated this query since the projects table caches the task count already.. we don't need to query for it
extracting more queries into separate functions
removed the 'no owner' tests as the objects will default to the creator being the owner if none is specified