* use classes for less code duplication * the idea of decorator is to avoid passing common parameters (e.g. clock domain names) in module constructors, so remove those parameters * style