#pragma once class DispenseItemBehavior; class BehaviorRegistry { private: std::unordered_map storage; DispenseItemBehavior* defaultBehavior; public: BehaviorRegistry(DispenseItemBehavior* defaultValue); ~BehaviorRegistry(); DispenseItemBehavior* get(Item* key); void add(Item* key, DispenseItemBehavior* value); };