A small java8 implementation of Promise monad. Promise represents a result of async action.