Core OO-related modifications

For more incapsulated single instance and procedures on them, and more
clear UI aspects.