buenas,
no lo he intentado pero asumo que puedes hacerlo usando tantas veces sea necesario el objeto opener. sin embargo, para que el nieto pueda comunizarse con el abuelo, el nieto debe obtener la referencia de abuelo antes de que padre cierre. si deseas que nieto se comunique luego de cerrar padre, tendrias que primero retener en una variable la referencia del abuelo.