See some discussion here:
The protected $properties; storage parameter added to ProjectColumn is shadowed by getProperties() in the base class.
Although this works correctly for me, it's ambiguous and worth fixing. Make the base class methods explicit.