Remove publish-on-subscribe from event/emitter and component/gadget
store features on subscription
Refactor emit to simplify flow.
Update parameter tests to throw if required arguments were not supplied
Default context should be UNDEFINED
Simply use _arg instead of overriding outer scope arg
Allow emit to be filtered
Revert "Simply use _arg instead of overriding outer scope arg"

This reverts commit 45c1885264f964fe54ee9c7b9cc24303d2c7a578.
Revert "Allow emit to be filtered"

This reverts commit d3b04b8cdc121d736c3244435a7fcef248023a1a.
fix comments and style
add reemit

update reemit and off filtering
republish -> reemit
added sig/start that will reemit
Merge branch 'feature/gh/54' into develop

closes #54