When device Gateway-WAN goes down we receiving only notification about its down status.
When it goes up we usually get 2 notifications:
Gateway-WAN is up
Gateway-LAN is up

But some time we get only one notification:
Gateway-WAN is up

Does it mean that in second case Gateway-LAN was up after Gateway-WAN went back up and check of Gateway-LAN was performed?

In such case dependencies can work in the following way:
1. Gateway-WAN down
1.1 Send notification about Gateway-WAN down
1.2 Stop polling Gateway-LAN
2. Gateway-WAN up
2.1 Send notification about Gateway-WAN up
2.2 Start polling Gateway-LAN
2.3 If Gateway-WAN is up - do not send notification about it
2.4 If Gateway-LAN is down re-probe it and when it goes up send up notification with total down-time started from p. 1.2 or p. 1.1.

Gateway-WAN goes up
1. Send notification about Gateway-WAN up
2. Start polling Gateway-LAN
3. Issue can start from here:
3.1 If Gateway-LAN is up when its polling was started, we will not receive notification, because it is already up.
3.2 If Gateway-LAN is down when its polling was started, we will not receive notification, until it is not up.
In such case, we don't know - Gateway-LAN is up or down after parent device goes up.

Maybe we should send a child status notification only if it is down after parent went to up? This can help to eliminate multiple up notification, if we have multiple devices which depends on parent. But we will get notification if some of the depended devices are down.