- Un caso de uso de bubbling seria, que tuvieras una clase Queue/Chain, a la que le agregas efectos, podrías hacer el bubbling y que el/los evento/s lo/s maneje el Queue/Chain.
- La idea es capturar los errores y guardarlos en un stack, al finalizar comprobas si hay errores y o bien los descartas silenciosamente o haces un re-throw.
- Se refiere a cancelar el evento en ejecución.
Con respecto a obj.fn, yo creo que el problema es que lo estas "pisando" en cada iteración, hace una prueba, agrega un return al final del for y vas a ver como ejecuta el primer gradiente, por esto es la sugerencia de separar las propiedades, del callback.
Saludos.