remove old todo test
refactor with_args into a callback object