UI Object rework

Added inheritance and consolidated in a new separate directory