I just finished (are we ever "finished"?) an annotations system that is being used by Nitro. Originally I created a class I called a Service (bad name I know) to manage first class methods so I could annotate them. It worked okay, but had a lot of overhead. Yet there was one really bad problem: what about *reusable annotations*? You need to be able to create annotations w/o necessarily having a method to attach them to. I tried a VirtualService but it was even worse. To remedy I decided to use Symbol instead since we typically use those to reference methods (perhaps even better would be a sublclass MethodName < Symbol). Unfortunately without a built in Binding.of_caller it's not very good either :-(. So I ended up just storing them in a hash in the class/module they belong to. Anyway, the point is that annotations are better if they can exist on their own too --as _potental annotations_, if you will. Something to consider. T.