created LensAgent and BinaryAgent, refactored and reordered Agent code
Merge branch 'refactor' into feature-lens; __key to _key

replaced the __key agent variable to _key
this way the get_key will work during inheritance
remove 'running' print statement
creating BinaryAgents instead of Agents after refactor