Add basic framework (still a WIP).