[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
@dantleech Actually I have never thought of that, but I think that's not possible, because we use VirtualProperties, which are not considered by deserialization.

@alexander-schranz Can you change these methods as in my previous command? But only in the future, I'll add some issues, so that we don't forget