Moved core to its own package
Removed need for user when constructing widgets