Consistent naming of attributes
Using underscore for attributes and methods which are not intended to be used by the user
Setting default values for JSON object with .get() method
Updated and extended docstrings