Continued Language API work

Focuses on #2968