Convert provider and parser to not using a map

Maps do not block in take / read -.-
Finish map -> properties rework