refactor(API): Ensure all unit fields exposed

The desiredState field was never exposed due to divergent code paths. I refactored the code to use a single path for building unit entities.