Add generate:module feature (50%)