How would you create a singleton admin form where you only ever want one record in the database? In our case we have created a custom module that requires a settings form. The settings are currently set up as a model admin but that gives you a grid for adding/editing multiple records in admin. Ideally we'd like it to work like the standard SilverStripe settings which just open the settings form directly.
I’d use the SiteConfig code to guide you. It’s been broken apart into a separate module for the future 3.2 release, so it’s a bit easier to review all the code for it now: https://github.com/silverstripe/silverstripe-siteconfig.
Hope this helps,