more consistent callback and log handling