The problem I see with a lazy approach is that deserialization would be inconsistent and dependent on when the user references a blackboard variable in their graphs, deserialization could even happen during gameplay if the graph uses no blackboard variables until later nodes.