This is my current informal review. I noticed a little bit based on naming conventions and just went through a general summary when looking at it for face value. I allowed comments for now in case I can see where you would have a different viewpoint.