Minor quibble: ternary operation in canvas._maybe_group is unnecessary