allow callable objects to be passed into before/after options