Hmm... should I only pre-process keys that are actually in `the properties` when you get them or should I handle cases where people have used a synonym. For example, you have used `rectangle` while `rect` is the key in `the properties`... I guess it's just another line in the array but for each array entry it's also a string comparison on every key in the array because I can't delete the key...