Vba has classes, enumerated, interfaces, events, collections, stacks, queues, array lists, dictionary, and more.
I did some async stuff in VBA recently (with events) and it was a bit of a mess, which I'd like to clean up if possible. VBA has classes but not anonymous classes, and not anonymous functions either, so you can't easily do callbacks. And the error handling mechanism is not great.