More generic game playing

Now using interface and implementing classes for getting examples
instead of the enum from previous commit(simpler and more
coder-friendly)