make lifecycle interfaces public