chore(input): Pull `get_input` and `set_input` into an OO service

Also adds test stubs to be implemented when the global state is removed.

Fixes #7091
Merge pull request #7433 from ewinslow/oo-input

chore(input): Pull `get_input` and `set_input` into an OO service