- using listenTo to stop listening when view closed
- minor refactoring
- amd support