Remove public API dependency to Guava concurrent API, and added success and failure callback types