Reorganize how jobs and events are stored

The IDs and timestamps should get "created" at the same time as when
they are "populated". This is so that event listener thingies can "use"
them and their populated data as soon as they exist

Ruins thread performance?