Add an initial version of all this stuff.

Signed-off-by: evilwombat <evilwombat@server.fake>