Implement factory pattern, removing `.config()` in favor of instantiation options; Replace `event-stream` dependency with `through`; Replace internal `extend` function with `Object.assign` ponyfill; Refactoring