Adding the BaseAMQPSpout and mroe cleanup of private/protected