Seol mar théacs é seo: Compositionality and refinement in model-driven engineering