WIP: Rewrite bpm utils in go #1

Draft
EnumDev wants to merge 14 commits from go_rewrite into master

14 Commits