You can architect your solution using (Plain Old C# Objects) POCO's and Managers.
That way you separate the business logic from the value objects.
To make it "look pretty", you can mark your methods with the (this) modifier on the parameters so you can then use those methods as extension methods.
An example could make this pretty clear:
Location Value Object:
public class Location
{
public string City { get; set; }
public string State { get; set; }
}
Location Manager:
public static class LocationManager
{
public static bool IsWashington(this Location location)
{
return location.State == "WA";
}
}
Now, the extension methods will show up differently than the standard properties/methods on the object.
The "IsWashington" method can be called 2 ways
Location location = new Location { State = "WA" };
LocationManager.IsWashington(location);
OR
Location location = new Location { State = "WA" };
location.IsWashington();
Now you have separation of your business logic and value objects, yet you still can have "pretty" method calls.
If you feel your fellow devs (or you :) ) will abuse the extension method part, then just don't use it.