Yes, I know that would be the correct way, but due to the limitation of not being able to change the constructor of SubjectWithArrayAccess, this was the only way it to add the behavior without making structural changes - a Trait would probably work well here.