Preview of my experimental changes. 

So far I've been experimenting with changing your OM classes to widgets, which by the way gets rid of our memory leaks. Although I haven't had as much time as I'd like so far to change things, I'm happy with the results. I don't see much of an impact using widgets, although its a huge impact in cleanup. Anyway I don't expect you to dig this. This isn't merge worthy either. Its for previewing the experiment I've been doing, and were pushing it into our production to fix our issues. :)