SCROLL - SCala ROLes Language (A DSL based on Scala for role-based programming and dispatch)