Add caching and DB index to events

I find `return events[0] if events else None` much more readable.