module is responsible for the initialization ${\mathbf{h}}_0$, of the generation process. (2) [**Sequential Input**]{} module is the input ${\mathbf{x}}_t$ at each time step of the generation. (3) [**Generator Operations**]{} module performs consistent operations or calculations on all the input at each time step. (4) [**Output**]{} module is the output ${\mathbf{o}}_t$ which is further projected on to the vocabulary space to predict the token ${\mathbf{\hat{x}}}_t$ at each time step. (5) [**Training Objective**]{} module takes care of the loss functions used for training the generator.

This schema provides an insight into the contributions of the various modules for controllable text generation. The main advantage of this schema is that it can be used with any algorithmic paradigm like sequence-to-sequence, probabilistic models, adversarial methods, reinforcement learning, etc. The schema can also be used with non-autoregressive algorithms which may generate text using graphical structures like trees [@welleck2019non; @guo2019non]. In this paper, we focus on how this schema can be used to describe controllable text generation focusing particularly on the use of autoregressive models. This work paves way to designing new architectures based on our schema. This can be done by identifying promising techniques for each module and then combining them. Our schema can also 