Extract transition configuration, SOLID-ify transition

@alexpeachey @brianvh please review