Added roles, changed message handlers to use them.