1. Wait for current performerpacket done before flushing slates into database; 2. when ring changes, put events need to be transferred into another queue and when ring change is done put those events into local queue; 3. spin off couple classes into seperate files; 4. fixed couple small bugs
merge source reader fix from master