I suggest to leave this part as it is at least for 3.2. We won't have these roles in 3.2 and this part is implemented as an accessor, so we can easily overhaul the logic if we need to do so