use factories for reader and favicon since they have state and cant be reused