Add lifecycle component

part of #1 (closed)