Rename "GetSetTrait" to "GetSetBaseTrait", rename its __call method to __call_GetSet, and make that method protected instead of public.
Create a new GetSet trait that uses the GetSetBase trait, and call the protected __call_GetSet method from it.
Add tests for the new base trait.
Update the readme to include new information.
Merge branch 'feature/magic' into dev