allow sub-manager tasks to use own app rather than parent's

it was hard for me to understand the logic in this method. i have tried to amend it to make the sub-manager task use its app rather than the parent's. all unit tests pass. perhaps another should be written to assert the correct app is used for default tasks.