Themes in Core v1

Fresh branch from a clean master
The second paramenter is an object of options which could be added as separate paramenters