public static function createColumnDefinition($datatype, $name, $tableName = null, $schemaName = null)
    {
        if (!array_key_exists($datatype, self::$typesMap)) {
            throw new Exception\UnsupportedTypeException(__METHOD__ . " Type '$datatype' is not supported.");
        }
        $class = __NAMESPACE__ . '\\Column\\' . self::$typesMap[$datatype];

        return new $class($name, $tableName, $schemaName);
    }