Utilizing some C++11 niceties, starting generic data classes