Can Open Zeppelin contracts follow decorator pattern?

I see lot of couping between different solidity contracts and it makes more difficult to understand how they can be composed. It is not intuitive and you need a deep understanding of the framework to really know what you are doing.

I think would be much more intuitive to have a Base contract with features added as decorations following something as decorator pattern, with no coupling at all between decorations, e.g.:

contract ERC20 is Feature1, Feature2, Feature3, Feature4..... {

}

Developers could contribute decorations to make it extensible.

Is this feasible?