Did a lot of work to meet Vault's new standards: created events that take
an OfflinePlayer instead of a string name. This