Made several optional.

@jamesblack @dncrews I've made several optional.

Frontier-core is going to start using this. Is Home on board as well?