Add a priority concept to components

It’s possible we simply won’t use this annotation for macros, since it’s a bit special. It’s really something to debate on a case by case basis when someone wants to refactor it (I suspect it won’t be soon in complex cases like macros).