Reusable parametric components (custom tag?)

I'm completely new to swift and vapor, so excuse my ignorance, but....

So we've got the extend tag in Leaf which can be used to include a reusable component. However, it's a bit tedious to have to use extend with import and export tags for specifying parameters/content on the component.

Consider a button component:

<button>
    #import("text")
</button>

We can use the component, like so:

#extend("components/button"):
    #export("text"): Hello #endexport
#endextend

But it would be much better if we could do something like this:

<!-- button.leaf -->
<button class="btn">
    #(text)
</button>

and:
extend("components/button", {text: "Submit"})

assuming {} is passing a dictionary, I don't even know I haven't learned that yet tbh lol!

Yes reusable components is something Leaf could do a much better job of. This should get massively improved in the next version!