Decouple from the container implementation.
Decouple from the event dispatcher implementation.
Try to use Illuminate contracts wherever possible.
Remove unused use statements.
Delete obsolete files.