handleLifecycleMessage now returns Message