Don't require the core hack anymore.

- Add report reading implementation
- Use basic event dispatch for core hack