Add lifetime to property and improve API