I just dislike the code dupe of all the separate locks, but at the very least update the godoc on the partitioner interface to mention that all implementations must be locked.