Bug 1039585 - [Messages][Refactoring] Implement EventDispatcher object. r=julien

maybe throw an error if target[method] already exists?