Role chaining

@alexander-daniel  Okay we have working role switching from within roles. This should allow more flexibility making more complex behaviours.
still need to remove the old role and improve the role removal stuff