centralizing the API to one class rather than a ton of mod specific hooks/events