If you were to implement custom versioning functionality, you'd need to override how the framework discovers what versions are available, what the latest version is, etc. with your custom scheme, as well as of course making it save using this scheme. It's not designed to be an extension point for users.