This is awesome- thanks! I've always wondered if there was a clean way to support various input types like this. Will fix.