Extract IdGenerator
Managed to put a few fields on activity so that they're not on top of each other. Wow!