making backlog more backwards compatible
making data/callback lookups more efficient by caching the funciton/data registry in a thread-local variable. tests passing.