Activation life cycle problems with hierarchical activators

When we have for example 3 levels of routers, navigation in root router checks for canDeactivate of deep (level 3) routers, but their respective deactivate callback were not fired after navigation by root.

Also in some situations canDeactivate were fired two times, once in root router, and another time when deactivated by their parent router.