Changes to Singulo, ported over the OOP Singulo changes from /tg/.

This isn't finished yet.
This is totally pointless. Might as well remove it.