Role Agent Pattern: a Developer Guideline