WIP: Rewrite bpm utils in go #1

Draft
EnumDev wants to merge 8 commits from go_rewrite into master

8 Commits