Moved strategy selection logic to context
Proper naming and some cleanup
Updated README for usage as a Library