Since this code is proof of concept right now, doing all this stuff inside `__init__` isn't a big deal. But before it becomes production code, I recommend moving it out of `__init__` and only using the initializer to do trivial initialization.