More work on Factory BuildSyntax

Ignore the one breaking change.
First five declarations working