What arguments can I use when defining a service?
Yes, the @ arguments are references to services. From Symfony's Introduction to Parameters:


  You can of course also reference services, which looks a bit different in each format. You can configure the behavior if the referenced service does not exist. By default, an exception is thrown when a non-existent service is referenced.
  
  Yaml
  
  Start the string with @ or @? to reference a service in Yaml.
  
  
  @mailer references the mailer service. If the service does not exists, an exception will be thrown;
  @?mailer references the mailer service. If the service does not exists, it will be ignored;
  


You can also use %-wrapped parameters which are slightly different; they can be used to refer parameters or get access to special SYMFONY__ prefixed server environment vars. (See How to Set External Parameters in the Service Container.)