Cool.  But I wonder whether such moves put off the beginning SymPy user?  I wrote it in a very  basic way because I wanted to show how easy it is to do.  

I think it is obvious that the way you suggest is a very good idea and will probably go ahead and do it that way.