Moved all listeners to a separate class that passes in MainActivity through a constructor