Structuring plugin systems