While brainstorming over the initial Wiretap design, I decided that I wanted the system to be composed of numerous, small programs. Each program would be assigned a function, and they would only be responsible for that function. This would make it easy to work on individual parts of the system without affecting other parts. It also allows each piece to be rewritten in a language other than Python should the need arise in the future. Lastly, it allows for easy expansion and growth.