feat(annotations): refactored metadata extractor into injectable class