TO-DO * add a Context class to decouple the node analyzers * learn codegen implementation from verible, moore, etc.