implement ContainerLifecycleListener