Refactored core support for interactive input.