Adding lots of javadoc and inline comments
 - refactored methods to proper classes
   - method that converts a `List<Page>` to `List<PageEntity>` moved to `Page`
   - method that converts a `List<Block>` to `List<BlockEntity>` moved to `Block`
   - utilize `List.contains()` to check and see if a `Page` or `Block` is new, instead of `Set` comparisons