Binding Logic to Custom Types with Behaviors