Two points:
- The observe method try to acquire the live lock during two seconds, if it fails, only an INFO logged is returned. Maybe it should be an ERROR log, or at least a WARN log.
- Maybe AbstractSynchronizeObserver can be an AsyncObserver instead of a [Sync]Observer, it is used only to update the live workspace.
Note that if we transform the observer is async, we could try to get the lock more longer.