more progress on error control-flow. using emitters and factory data for sharing among controllers. and moved directive.js to app.js