YouTube вот такую задачу упорно подпихивал мне трое суток, пришлось решить, чтобы отстал. Хороший пример, как знание о конфигурации объекта позволяет не хранить лишние данные.