Make caches separate components
Remove unused warning
Replace Future by ListenableFuture from Guava
Add the ability to extract lowest commit log segment used