Implement lifecycle
Implement setters, listener