When I build a class it may seem more complicated than could be done by simple hard wired brute force method. But I rarely write any code for a single use case. I write reusable encapsulated code. Write once use anywhere. Here is an example of a pretty good fake of "see saw" (from to) user control. This now functions almost like a true user control where you can drop the subform on any form and you can have all of this functionality, and never have to actually edit the subform or write code. Here is is used in 4 different ways, but the reuse is unlimited.
You can argue that it is buggy, or you do not like the features, or it is hard to initialize, etc. But saying the code is complicated is just stupid, and shows a lack of understanding of code development and code use.