The task spec should allow tasks to be stored in subdirectories of the tasks dir where each directory becomes a namespace segment similar to how classes are loaded.
for example
my_mod/tasks/foo/bar.sh -> my_mod::foo::bar
my_mod/tasks/foo/bar/init -> my_mod::foo::bar
init files should be treated as conflicts when they have the same name as a file in the parent directory.