Added factory to create Reader and Writer. Docs to follow.