extracts out actual creation of events to DRY
cleans up layouts