maybe we should have ``ValueFormatter::supports``. This method should return true if ValueFormatter can format given value.

This should simplify ``ValueFormatter::format``