NSObject + load и + initialize - что они делают?

Мне интересно понять обстоятельства, заставляющие разработчика переопределить + инициализировать или + загрузить. Документация дает понять, что эти методы вызываются для вас средой выполнения Objective-C, но это действительно все, что ясно из документации по этим методам. :-) Мое любопытство...