Add API for Event resource

- Refactored shared Controller code