public static function create($name, ExpressionNode $value = NULL, $visibility = 'public') {
    $code = $visibility . ' $' . ltrim($name, '$');
    if ($value instanceof ExpressionNode) {
      $code .= ' = ' . $value->getText();
    }
    /** @var ClassNode $class_node */
    $class_node = Parser::parseSnippet('class Foo { ' . $code . '; }');
    return $class_node->getStatements()[0]->remove();
  }