if we use a method here, it has a side effect of calling setstate at times when the object state cannot be obtained, causing an exception in tpc_finish, which has hilarious effects
Merge branch 'master' into feature.contents-sse
dont beat the server for each event, wait until the ajax processor is inactive to clear the data