return $config;
    }
}
class DataExtensionTest_ContactRole extends DataExtension implements TestOnly
{
    private static $db = array('Website' => 'Varchar', 'Phone' => 'Varchar(255)');
    private static $has_many = array('RelatedObjects' => 'DataExtensionTest_RelatedObject');
    private static $defaults = array('Phone' => '123');
    private static $api_access = true;
}
class DataExtensionTest_RelatedObject extends DataObject implements TestOnly
{
    private static $db = array("FieldOne" => "Varchar", "FieldTwo" => "Varchar");
    private static $has_one = array("Contact" => "DataExtensionTest_Member");
}
DataExtensionTest_Member::add_extension('DataExtensionTest_ContactRole');
class DataExtensionTest_MyObject extends DataObject implements TestOnly
{
    private static $db = array('Title' => 'Varchar');
    public function canOne($member = null)
    {
        // extended access checks
        $results = $this->extend('canOne', $member);
        if ($results && is_array($results)) {
            if (!min($results)) {
                return false;
            }
        }
        return false;
    }
    public function canTwo($member = null)