1. Investigate the use of [std::experimental::any](http://www.enseignement.polytechnique.fr/informatique/INF478/docs/Cpp/en/cpp/experimental/any.html) as a replacement for ContextValue. 2. If during compile time its not available fallback to boost::any.