not needed
removed interface;
changed access for methods;
added setDataByKey;