Still figuring out the design. I will finalize the design in the next few commits.