Fix pylint and pep8 warnings in playground.py
Extract classes into files
Replace temporary main
Move source to src directory