@Retention(RUNTIME) @Target(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