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