substituted the constructor initialValue to be a defaultInitialValue

the initialValue gets now set via a method by subclasses (typically but not necessarily in onCreate)