Make PreparedStatement::execute() return an rvalue to itself. Make Database and Connection's execute() also return a PreparedStatement.