CategoryNavigationReader only needs to be a PORO

Currently ``CategoryNavigationReader`` subclasses array and ``call`` then replaces it's contents with the built categories, though we never refer back to our instance of the reader, instead capturing the returned array.