Revert "Revert to old garden interface"

This reverts commit 00df37a6a63d1ae7322d3f1dd84e880b2b55b4e8.
Sync with b7698062a2c garden interface