It's not hard. It's just not wanted. Software design is about making choices, and they have made other choices.