Fleshed out the save functions for the component service layer.

There are still todos on this because we haven't worked out a way to findById with composite keys yet.