The new API adds some more complexity to type annotations, but enables configuration of match output and counter input pins through the pin abstraction. GIMA configuration is still left to the user. Also adds the changes from !10 (closed), with minor changes.