emmbedded C++ framework with double dispatch design pattern for multiple plateforms