It works through the interaction and display entities.

You can download the pack I used to showcase this here: https://www.mediafire.com/file/cfu2snkf4rkn1vo/custom_crafting.zip/file

To place down a modified crafting bench, run /function plag_cc:place and try it out yourself. You need to face the correct direction.

Feel free to go from there and build from this prototype. You have my permission to put it into your map, your datapack or whatever else you want to do with it, as long as you give me appropriate credit somewhere.