#699 Use cell registration instead of inline cell creation where possible

** There is still more to do for this, but I wanted to get the PR rolling for feedback **

A fair chunk of low risk refactoring was also performed around the cell changes.