Extract code into extra file to avoid repetition
Add a comment that makes stuff a little clearer right now (for me)
Add launchy gem
Create connection between models
Remove hardcoded slots, instead use variable