If 'value' is null or empty, perhaps throw?