It's been in my head for a while so here it goes ;)
It's currently quite difficult to maintain and we are duplicating too much.
This centralizes the vm information into one hashmap and then build the vm declaration out of it.
It's incomplete for now, mostly opened to display how we could simplify it.