update ReaderInterface with ::(get|set)Cache and ::(get|set)Parser
update Reader to fit new ReaderInterface
add test for Reader::getParser