What would you think of naming the `:algorithm_kind` option `:algorithm_factory`? The reasoning about this is that the object responding to new must not be a `kind` or a `class`.