Basically, does what WP hooks do. Without any unnecessary overcomplicated features. You assign functions to specific key string and later when you call that key all functions are executed in order you set with priority argument.
composer require dsijak/hook
dsijak\hook('alpha', function(){ print "hello alpha text 1!";}, 1);
dsijak\hook('alpha', function(){ print "hello alpha text 2!";}, 2);
dsijak\hook('alpha');
dsijak\hook();
MIT