removed unnecessary getter
lowercase method
Revert "removed unnecessary getter"

This reverts commit 92612b843de2a1695bd44275966b5c4fe4f64c86.

It turns out this getter is defined by an AbstractBase class, so it
actually is necessary.
only save method attribute once
check for continuous values or large number of discrete values
wrote some simple tests