client lifecycle management