<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def write(self, values, timestamp=None, database=None, async=True):
 """ write metric point """

        func = write_async if async else write
        return func(name=self.name,
                    values=values,
                    tags=self.tags,
                    timestamp=timestamp,
                    database=database)