I've started seeing words like "modularity" and "generic" as red flags. They're not good in and of themselves: they have to serve a purpose.
Are we going to use these modules? Is this generic over likely future use cases? Are other likely future changes not made more complex?