Modular client architecture using RequireJS. EventEmitter base class, better management of events, proper UTF-8 handling