[FEATURE] refactor api entities with entity wrapper classes

__Tasks:__

- [x] gather feedback for my changes
- [ ] submit changes to the documentation


__Informations:__

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| Tests pass?   | yes
| Fixed tickets | none
| Doc           | none
You could refactor this:

````php
public function getDescription()
{
    foreach ($this->entity->getMeta() as $i => $meta) {
       if ($meta->getLocale() == $this->locale && $i = 0) {
           return $meta->getDescription();
       }
    }

    return null;
}
````

Although I don't understand this behavior with the comment on line 116. This logic will return the description of the first element if it has this locale. I don't see how `when meta not exists` applies.