This a  minor quibble but I don't like customRedis name. Maybe would be better inmutableRedis ?

Or if you want to be more symmetrical you can pass a 'respawnSub' code reference and if it exists call it instead of standard _respawn code. But it does not seem neccesary at least for now