Call self._get_tools() once in a life time of an object

Fixes #8.
Also cleans up a bit all the _, _, _, ...