Supporting custom annotation readers

Implementation for #372
Not sure this test adds any value