Awesome! Thanks a bunch man for all the constructive comments. Your points about layering design patterns on top of each other was something I had in my head but could not put into words. Your comments are very motivating :)