Added theme manager and theme abstactions