refactor: rewritten plugin infrastructure again (should be much easier to use now)
refactor: reduce code duplication on netiam core