- Emitting a ton of events
- Managing state (current application, window, url of the browser tab, etc.)
- Loading user settings and code
- Managing packages
- Generating grammars
- Listening for and executing commands
Package could, but is not limited to, define one or many
some of the larger packages (atom, chrome) run lots of support code which allows for tight integration with their respective applications.