replaces the usage of q.js with observer pattern for WebmURLExtensions