Added listener, and persister