Separate unit tests.
Add ability to provide multiple casters when calling Base.cast().
Add base static function to new klasses.