Updates hook system and adds a ton of documentation.