Adding IValue interface

Instead of passing around an IBehavior just to get the value, pass
around an IValue which has a single property to get the value.