Factor some functionality into readonly pocket.