Implementing Strategy Pattern: SingleProperty, ArrayProperty