combine field and container registration into one function for easier understanding
move example developer usage to bottom of file for easier understanding