@hook decorator for plugins