Clean up timeout handling addressing issue #254

Use hash(frozenset()) instead of a timestamp