1. there is type in my previous comment.  Remove lines 223, 224.

2. Add line 227:  'provider': random.choice(FOREMAN_PROVIDERS)

3. Move the special logic 231 to 265 after update_dictionary.

(Please see other factory methods - they are handled in similar way)