Revert "Remove some Internal* abstractions"

This reverts commit 479a57613459f568a00161c5f0002829c2f8a082.
Does not compile