new interface to handle specific player turn events
new class to manage player entities
ultimative code cleanup and refactoring