Will have to find a way to pass through everything I need so I don't expose absolutely everything to the user, AttributeBuilder for example.