* Small refactoring for lifecycle management. It is better to not provide explicit lifecycle as it conflicts with implicit parameters in libraries and components