implement asCallback property