Based on the information provided on the Create 2 widgets that communicate through a custom API we can then deduct that we could in theory create multiple engine widgets or backend widgets and have each widget do a specific purpose for a group of frontend widgets. So you could have for example:

Backend Widgets

  • accountWidget
  • postWidget
  • socialWidget

Frontend Widgets

  • Login System
  • Post Articles
  • Post Events
  • Post Products
  • Share on Facebook
  • Share on Google+
  • Share on Twitter

And do actions like:

  • Have the login system call the accountWidget to verify the existence of the member and the status of the account
  • Have all 3 Post widgets (Articles, Events and Products) call the postWidget so it can add information the database and refresh the information on the frontend
  • Have all 3 Share on widgets (Facebook, Google+, Twitter) call the socialWidget so it sends the information to the corresponding social sites and notifies you of the update.

You can have a structured relation between the widgets created and use them to your liking. You can have backend widgets that only include functions like login in, logging out, updated membership level and more. You can also have backend widgets that update the frontend once an action in another part of the site has changed like notifying you of new members, adding how many likes you have on real time and more.