     didSet {
       // Allow the property to be reset to zero
       if furthestCellPosition != CGPointZero {
-        furthestCellPosition = CGPointMake(
-          max(furthestCellPosition.x, oldValue.x),
-          max(furthestCellPosition.y, oldValue.y)
+        furthestCellPosition = CGPoint(
+          x: max(furthestCellPosition.x, oldValue.x),
+          y: max(furthestCellPosition.y, oldValue.y)
         )
       }
     }

  override init() {
    scrollDirection = .Vertical
    preemptivelyRenderLayout = false
    cellSize = CGSizeMake(100.0, 100.0)
    layoutAttributesCache = [UICollectionViewLayoutAttributes]()
    layoutRectCache = CGRectZero
    indexPathCache = NSIndexPath(forRow: 0, inSection: 0)

    case .Vertical:
      let width = CGRectGetWidth(contentRect)
      padding = (width - CGFloat(maximumNumberOfCellsInBounds) * cellSize.width) / 2
      result = CGRect(
        x: position.x * cellSize.width + padding,
        y: position.y * cellSize.height,
        width: aCellSize.width * cellSize.width,
        height: aCellSize.height * cellSize.height
      )

    case .Horizontal:
      let height = CGRectGetHeight(contentRect)
      padding = (height - CGFloat(maximumNumberOfCellsInBounds) * cellSize.height) / 2
      result = CGRect(
        x: position.x * cellSize.width,
        y: position.y * cellSize.height + padding,
        width: aCellSize.width * cellSize.width,
        height: aCellSize.height * cellSize.height
      )
    }

