Added ensurable methods so that they are available for all subclasses
Changed providers to prefetch/flush properly