addListener takes a scope - remove 'self'