A high-level abstraction for bytecode manipulation of jvm-based libraries. It supports a multitude of backing implementations to best fit the execution environment (ASM or Javassist for runtime manipulation and custom annotation processing for compile-time manipulation.