Component-based software frameworks and role extension form