Hooks
final case class Hooks(pre: Option[PreHook], init: Option[InitHook], create: Option[CreateHook], insert: Option[InsertHook], prepatch: Option[PrePatchHook], update: Option[UpdateHook], postpatch: Option[PostPatchHook], destroy: Option[DestroyHook], remove: Option[RemoveHook], post: Option[PostHook])