change: fix lifecycle callbacks