use the information on the reflection to determine whether callbacks should be added
valid_options doesn't depend on the instance, so push it to the class
add_before_destroy_callbacks doesn't depend on the instance, so push it
to the class.
decouple belongs_to callback definition from the builder instance.

All the information is on the reflection, so just get it there.
cache the name and options on the stack
get the name from the reflection
push methods that don't depend on the instance to the class
we can define callbacks without a builder instance