Use timeout (offset to Time.now) instead of deadline. Also, fail hard if Speedytime is missing (instead of having render() return stringified expcetions).