Using Magic Methods to Extend Object Functionality — Programming Keynou