New Adapter / Plugin Pattern

- `receivers` -> `VCS` (as we discussed)
- all adapters now "inherit" from an `adapter` object
- all adapters can store an arbitrary number of plugins to delegate tasks to

**TODO**:
- [ ] get hooks to work again (shouldn't be too hard)
- [ ] maybe write a few tests
should this be renamed vcs?