Help configuring nodes with host groups

I'm new to Forman, but have been using it to deploy and manage hosts for
about 6 months. I'm familiar with the UI, and have played with puppet on
the command line. I've hit a brick wall trying to deploy a working server
with a LAMP stack and WordPress installed and configured.

I have created a host group (host-type-lamp-stack) which includes the
apache class from puppetlabs/apache module amongst others. I can assign a
host to the group through Foreman, and everything works as expected:
Apache2 is installed, etc. What I want to do now is to be able to manage
the configuration of a host, which I am assuming I need to do with a custom
module. I presume that the assignment of the host to the host group will
ensure that the apache class is present, but should still include class {
'apache': } in my module.

If I were to use a node definition, does Foreman associate this with the
named host? From the Puppet Labs example:

node 'webserver.puppetlabs.com' {
  class { 'apache': }  
  apache::vhost { 'webserver.puppetlabs.com':
    port    => '80',
    docroot => '/var/www/webserver'  
  }
}

Importing this into Foreman, would this work as expected for the host with
the name 'webserver.puppetlabs.com'?

What I would really like to do is create a module that will offer some
configuration through Foreman. So, if I were to include a module that
installed and configured WordPress, I would ideally like to be able to
provide some sensible, overridable defaults. Is this the way I should be
doing this?

Thanks in advance!