Refactoring. Dead code removed. UI components moved to become class members.

Updated license year.

Added gitignore file.