Replace underscore templates with Handlebars.
Remove dependency on underscore.js in tests.
Use keys() and forEach() instead of for...in.
Extract trigger method regex.