As we will see soon, the creation of custom Observables isn't complicated. We will start off by exploring how we can plug in Java's Future and Callable interfaces as they are commonly used in various libraries to represent pending or background tasks.
Later, we will see how to use the Emitter interface, which can be consumed by Observable.create() to supply the Observable with values from some other source. This will be a perfect choice for integration with the Twitter4J library later.