move hooks into Provides class.