Use segments instead of nodes as base for rings
Keep pointer to way and role in segment.

Check all segments whether they are tagged correctly.
Move adding tags to area in its own function.