Add Promise<T> as a special kind of Observable
Add Result<T> type for success or error