Extending Tcl for Dynamic Object-Oriented Programming