A mock-friendly way 

sub device_driver { 'Device::SerialPort' }
sub device_port   { shift->{port}        }

sub _Initialise {
  my $self       = shift;
  my $serial_dev = shift;

  my $driver = $self->device_driver;
  $port = $self->{port} = $driver->new($serial_dev)