Supporting custom annotation readers

Implementation for #372
Coverage says it's only 75% of the class covered. The other 25% is the default Constructor. I've tried to make it private (as it should be) but it still ask for its coverage. Any idea?