Writing Reusable & Maintainable Code — Programming Keynou