'Edit an existing callback bound to this object.
Args:
callback_name (str): the name of the callback to edit.
number (int): the callback number to be changed.
code (str): the Python code associated with this callback.
author (Character or Player, optional): the author of the callback.
valid (bool, optional): should the callback be connected?
Returns:
The callback definition that was edited or None.
Raises:
RuntimeError if the callback is locked.'

def edit(self, callback_name, number, code, author=None, valid=False):

    handler = type(self).script
    if handler:
        return self.format_callback(handler.edit_callback(self.obj, callback_name, number, code, author=author, valid=valid))
