Finishes off the Differentiable Interface

Unifies and finishes the work on #325, #326, #327, #328, #329.