@Retention(value=RUNTIME) @Target(value=java.lang.annotation.ElementType.FIELD) public @interface Callback
This annotation marks a variable as a callback such that it can be used to send callback events back to the calling side