The Abstract and Hooks setup is nicely done :+1: