Introduced player module.

gen_server from the beginning.
Code cleaned up with new testing macro assertProcessDownAfter/3