Nicer name for the interface
Add setListener to remove listener after destroy.