Core: Add a lot of documentation