Role chaining

@alexander-daniel  Okay we have working role switching from within roles. This should allow more flexibility making more complex behaviours.