Button input.
Refactor to use constructor injection.