Fix formatting problems pointed out by Jason
Move CompiledWidget constructor code from companion objects to compile pattern matcher
wip widget refactor