adding general pd tools and key mapping abstraction to be used in place of k2b