Bug 1067228 - [Messages][Refactoring] Move subject management to a separate component. r=julien

> I wondered if we should use "input" instead but I see it's also emitted when we call setValue

The rationale was that  "input" sounds like the event that can be fired even if actual value wasn't changed, like copy content, select all and replace - IMO should call "input", but not "change". I wanted to call it whenever value is change and no matter from what way (from user input or from code)

> btw this is a potentially incorrect change; in the master code we don't call onSubjectChange when we set the value directly. Need to check whether this has visible effects

Have you noticed any? I believe we shouldn't have any visible effects.

> In a refactoring patch I'd rather avoid changes in behavior if possible :)

Agree with you, but it's sometime difficult to avoid such changes :)