public final function __construct()
{
$pheasant = Pheasant::instance();
$pheasant->initialize($this);
// pull default values from schema
$this->_data = $pheasant->schema($this)->defaults();
// call user-defined constructor
$constructor = method_exists($this, 'construct') ? 'construct' : '_defaultConstruct';
call_user_func_array(array($this, $constructor), func_get_args());
}