Don't call getItem twice.
Transfer to a signal handler object instead of a string.