Take this with a grain of salt, cause I'm not sure I love it, but you could save a little duplication here by doing:

```objc
void (^doneBlock)() = ^{
    [weakSelf saveProject];
    [weakSelf.canvasView unselectSelectedSprite];
    [weakSelf transitionToInterfaceState:ZSToolbarInterfaceStateNormal];
}

...

[ZSCanvasBarButtonItem cutButtonWithHandler:^{
    [weakSelf.canvasView cutSelectedSprite];
    doneBlock()
}]

...
```

Anyway, take it for what it's worth, not sure it's a good enough idea to be worth the time to do it.