title: Firebase Value and ChildAdded (further explanation needed)
body: <p>I've read the Firebase documentation over and over and again and just need some clarification. This isn't regarding my specific code as much as my understanding of Firebase in general.</p>
  
  <p>I know that <code>.Value</code> retrieves all the data each time its called and continues to monitor the database for changes. And <code>.ChildAdded</code> looks for changes in the children of the reference. Does <code>.ChildAdded</code> also retrieve all of the values initially? Should I be implementing both <code>.Value</code> and <code>.ChildAdded</code> for the same path? If not, when I try just doing <code>.ChildAdded</code>, nothing shows up but when I run <code>.Value</code>, all of my items show up like they are supposed to. What I don't want is for every value to be re-fetched from the database each time a single value is changed or added because that would seemingly cause some bandwidth issues later when I have thousands of items to fetch. Would be best workflow be to create a .Value function (<code>getAllItems()</code>) with ObserveSingleEventOfType so it only calls it once and then have a duplicate function (<code>getNewItems()</code>) except with <code>.ChildAdded</code> and observeEventOfType?</p>