The expected behavior should not change (neither should the unit tests), but the actual implementation should be entirely different.