The CLI is structured such that the builder is an interface. Currently there is a buildpack implementation, and a mock implementation for testing. We should additionally support s2i as a build strategy.
https://github.com/knative-sandbox/kn-plugin-func/blob/cad0a04276cbd0fe15a83afb68dc5fd680f47d48/client.go#L66-L70