Typescript: Rethinking "Strings" Events