'Do something as this object. This is never called normally,
it\'s only used when wanting specifically to let an object be
the caller of a command. It makes use of nicks of eventual
connected players as well.
Args:
raw_string (string): Raw command input
session (Session, optional): Session to
return results to
Kwargs:
Other keyword arguments will be added to the found command
object instace as variables before it executes.  This is
unused by default Evennia but may be used to set flags and
change operating paramaters for commands at run-time.
Returns:
defer (Deferred): This is an asynchronous Twisted object that
will not fire until the command has actually finished
executing. To overload this one needs to attach
callback functions to it, with addCallback(function).
This function will be called with an eventual return
value from the command execution. This return is not
used at all by Evennia by default, but might be useful
for coders intending to implement some sort of nested
command structure.'

def execute_cmd(self, raw_string, session=None, **kwargs):

    raw_string = to_unicode(raw_string)
    raw_string = self.nicks.nickreplace(raw_string, categories=('inputline', 'channel'), include_player=True)
    return cmdhandler.cmdhandler(self, raw_string, callertype='object', session=session, **kwargs)
