Refactored to use backbone events rather than homebrew listener pattern