Processes nick!user@host data.
        Returns a tuple containing, the nick, user and host.
        If a valid hostmask isn't found, return the data as is.
        Required arguments:
        * who - nick!user@host data.

def _from_(self, who):
        """
        Processes nick!user@host data.
        Returns a tuple containing, the nick, user and host.
        If a valid hostmask isn't found, return the data as is.
        Required arguments:
        * who - nick!user@host data.
        """
        try:
            host = who.split('@', 1)
            nickident = host[0].split('!', 1)
            nick = nickident[0]
            ident = nickident[1]
            host = host[1]
            return nick, ident, host
        except IndexError:
            return who, '', ''