Make #callbacks{} Dialyzer friendly

This is how I should've solved the problem in the first place - just by typespeccing the record fields appropriately. Now Dialyzer would be able to pinpoint the issue if `on_close` callback had an arity different than the spec.