Split role tasks into separate "subsystems"
This improves readability and makes easier to integrate further features and fixes.
Related to #1 (closed).
This improves readability and makes easier to integrate further features and fixes.
Related to #1 (closed).