Reworked header to allow for multiple callback instances.