Fix problems with profiling by replacing Float type with CGFloat
Alter fillColor property to be mutable

So it can be changed by the caller