<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def do_set(self, params):
 """ \x1b[1mNAME\x1b[0m set - Updates the znode's value \x1b[1mSYNOPSIS\x1b[0m set <path> <value> [version] \x1b[1mOPTIONS\x1b[0m * version: only update if version matches (default: -1) \x1b[1mEXAMPLES\x1b[0m > set /foo 'bar' > set /foo 'verybar' 3 """

        self.set(params.path, decoded(params.value), version=params.version)