Refactor file organisation, separate core functionnality in a base constructor and separate the prompt commands in it's own generator