An alternative to the SilverStripe Widgets module