Foreword
We programmers mostly work on already finished products. We come in, are given specific tasks, create a class, attach some logic to it, then apply this logic elsewhere, while also putting together the UI. That's it.
But sometimes, the task w...