A better way, and a .NET way would be to make overloads.
Here is an example:
Private Overloads Sub createNew(ByVal text As String, ByVal number As Integer, ByVal buttonSelected As System.Windows.Form.Button)
'do whatever you need to when the button is instance is passed in
End Sub
Private Overloads Sub createNew(ByVal text As String, ByVal number As Integer)
'do whatever you need to when a button is not passed in
End Sub