add support for uncancellable promises
made model an uncancellable promise