Pure JavaScript notification framework (work in progress)