I am very curious about how something works, but as a developer we don't just make it works. It's not enough, there many approaches that we can make our application work but the important thing does it 's maintainable, extendable, testable.