Begin designing the KDF interfaces. Fixes #511