implement pre_transition and post_transition callbacks

Bump for review