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**:
- [x] get hooks to work again (shouldn't be too hard)
- ~~maybe write a few tests~~