Input revamp base

Began incorporating the changes across the codebase.
It would be easier to have the base code upstream to avoid conflict and pointless re-implementation.