This should allow for remappable keys in the future! I think I'll make a remapping interface using this, to demonstrate its usefulness