Making BasicFuture a little more concise
Initial cut of CompletionFuture
Observer and Observable