Refactoring in preparation for Spectrom Device

[untested]