Adding annotation strategy
Splitting annotation
Misc renaming..
Refactored classes, more tests, concurrent tests