This library is over-engineered, unnecessary and obsolete. Similar results can be achieved using more modern tools like rx2 and kotlin.
Author's note: I still think there are some interesting concepts here. DisposableFutures are a helpful if your project already relies heavily on guava's ListenableFutures, and I think there's something valuable in a pausable executer/scheduler. But this isn't the right package or implementation for any of it. Just use rx2.
The original README is preserved here: ORIGNAL_README.md
MIT: https://github.com/episode6/disposables/blob/master/LICENSE