updated to fit backbone event observer architecture