Move hook attachments out of constructor

Moves them to a new run() method. That gives the flexibility to
instantiate the class without integrating with WP i.e. during unit
testing.