Lots of renaming and moving interface classes to their own folder, since they are only headers.