Joel Mora9,563 Points
Another Solution to Added Functionality Challenge :D
I see a few people have posted a solution to the challenge here so I am here to leave my own contribution to the cause. I added comments to explain my thought process a bit on every step of the way :)
Any criticism is welcome.