No, it’s not necessary, only inheriting from nn.Module is enough.
Little remark, self.something = Module1(a) won’t work, I think you want something like:
module1 = Module1()
self.something = module1(a)