Added support for macro handling
Removed bidirectional dependency on characters & its generator