ActionListeners now work without spec violation