abstracting addon message passing into a new class