allow setting callback context