Several annotations are named the same as other annotations or classes in the iPojo project. This makes the use of these annotations painful as the classes need to be fully qualified.
@Property can either be an annotation marking something to be exported to JMX or a config variable. Alternatively annotations could be named @ConfigProperty and @JmxProperty. (If this naming occured it would also make sense to rename @Method to @JmxMethod).
You annotate a field of type Publisher with the annotation @Publisher. The annotation could be something such as @Publishes.