let callbacks share a context