Book review mastering js design patterns