Sometimes I really wish C++ were dynamic...