### Is there an existing issue for this? - [X] I have searched the existing issues ### Description of problem The current implementation of `SkinController` does not have abstraction layer that can be used with dependency injection. ### Description of solution Create an interface for this class called `ISkinService`. ### Description of alternatives considered Don't add an interface and keep on using `SkinController`. ### Anything else? _No response_ ### Do you be plan to contribute code for this enhancement? - [X] Yes ### Would you be interested in sponsoring this enhancement? - [ ] Yes ### Code of Conduct - [X] I agree to follow this project's Code of Conduct