move listener to a field