Perhaps add a fallback in case of rejected. `resolve(empty_canvas)`