Add some better locking, so we only process one story activity at a time.
Also can now recieve activities before all the stories are loaded, so it is more accurate.