indirectly exposing the flush() method by always invoking it inside load().  Not really sure if I should do it this way or if flush() should be exposed directly, but I'm going with this first and keeping flush() protected still.