Ah right, I didn't consider the class_eval issue.  This is something we can come back to and refactor at a later date.  i wouldn't worry about it now.