References, Other objects, Event listeners, Class generation as interfaces