Use stopListening() instead of dispose()