mam już pomysł jak się pozbyć tego nulla i kilku ifów, koncepcja jest zarysowana na kolejnym branchu: graph_snapshot_factory