Initial commit

Basic things are there. Still have to finish implementing commands and the
calling of various hooks.