Practice widget api

As requested by Sameer.