1. A method for operating a user device, the method comprising: loading an application definition into a client application for execution on the user device; loading one or more classes contained in the application definition defined in a central repository database of a server into the client application; determining that one or more custom classes not defined in the central repository database are contained in the application definition; in response to the determining, validating the one or more custom classes by ensuring that they contain one or more preset functions; and loading the one or more custom classes into the client application, thereby overriding or extending at least one of the one or more classes defined in the central repository database; and wherein the method is performed subsequent to the user device starting the client application but prior to the client application communicating with the server.