This paper addresses the computer industry’s general inability to develop complex software applications in a manner that promotes easy integration, reusability and low maintenance. Most complex applications are built for a very specific environment and include far too many dependencies, making them difficult to maintain and expensive to integrate. A development methodology known as Abstract Obj...