Many changes. KeyReader now static.