[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
An alternative approach might be something like:

````
$map = > array(
    'size' => 'setSize',
    'title' => 'setTitle',
    'description' => 'setDescription',
    // ...
    'collection' => function ($media, $value ) { $media->foobar($value); }
};

foreach ($data as $a => $v) {
    if (!$v) {
        continue;
    }
    if (isset($map[$a])) {
        $action = $map[$a];
        if ($action instanceof \Closure) {
            $action($media, $value);
        } else {
            // handle method not existing
            if (!method_exists($...) {
            }
            $media->$action($value);
        }
    }
} 
````

Just for interest...