Initial stab at module and pattern generators.