Added IMeasurable and some base implementation

Both are generics accepting <TValue>